首页 > 其他分享 >106Go基础2

106Go基础2

时间:2023-03-17 16:33:28浏览次数:40  
标签:106Go 示例 int fmt 基础 var Println Go

基础知识

1、变量声明和赋值

在 Go 语言中,可以使用 var 关键字声明变量,也可以使用 := 运算符进行简短声明。以下是变量声明和赋值的示例代码:

var x int
x = 1

y := 2

2、数据类型

Go 语言支持多种基本数据类型,包括整数、浮点数、布尔值、字符串和复合类型(如数组和结构体)。以下是示例代码:

var a int = 10
var b float32 = 3.14
var c bool = true
var d string = "Hello, World!"
var e [3]int = [3]int{1, 2, 3}

type Person struct {
    Name string
    Age int
}

var p Person = Person{"John", 30}

3、控制流语句

Go 语言支持常见的控制流语句,包括 if、for、switch 和 break/continue。以下是示例代码:

if x > 0 {
    fmt.Println("x is positive")
} else if x < 0 {
    fmt.Println("x is negative")
} else {
    fmt.Println("x is zero")
}

for i := 0; i < 5; i++ {
    fmt.Println(i)
}

switch n {
case 1:
    fmt.Println("One")
case 2:
    fmt.Println("Two")
default:
    fmt.Println("Other")
}

for i := 0; i < 10; i++ {
    if i == 5 {
        break
    }
    fmt.Println(i)
}

4、函数与方法

在 Go 语言中,函数和方法是很重要的概念。函数是独立的代码块,可以接受参数并返回值,方法是与结构体或类型相关联的函数。以下是示例代码:

func add(x, y int) int {
    return x + y
}

type Rectangle struct {
    Width  int
    Height int
}

func (r Rectangle) Area() int {
    return r.Width * r.Height
}

r := Rectangle{Width: 10, Height: 20}
fmt.Println(r.Area())

5、指针

Go 语言支持指针,允许在函数间传递变量的地址,以便在函数中修改变量的值。以下是示例代码:

func zero(x *int) {
    *x = 0
}

var x int = 1
zero(&x)
fmt.Println(x) // Output: 0

6、切片

切片是 Go 语言中非常重要的概念,它是对底层数组的引用,并提供了动态大小的数组。以下是示例代码:

a := []int{1, 2, 3, 4, 5}
b := a[1:3] // [2, 3]
b[0] = 0
fmt.Println(a) // Output: [1, 0, 3, 4, 5]

7、并发

Go 语言的并发模型非常强大,可以使用 go 关键字在新的 goroutine 中执行函数。以下是示例代码:

func sayHello() {
    fmt.Println("Hello")
}

go sayHello() // 在新的 goroutine 中执行 sayHello()

time.Sleep(1 * time.Second) // 等待 goroutine 执行完毕

8、接口

接口是 Go 语言中的一个重要概念,它允许定义方法的集合,并允许类型实现这些方法。以下是示例代码:

type Shape interface {
    Area() float64
}

type Circle struct {
    Radius float64
}

func (c Circle) Area() float64 {
    return math.Pi * c.Radius * c.Radius
}

var s Shape = Circle{Radius: 10}
fmt.Println(s.Area()) // Output: 314.1592653589793

标签:106Go,示例,int,fmt,基础,var,Println,Go
From: https://www.cnblogs.com/code3/p/17227239.html

相关文章

  • 100道python基础题——(1)
    题11级问题:编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。提示:考虑使用range(#begin,......
  • java基础
    java中的小常识JDK、JRE、JVMJDK:JavaDevelopmentKit是一个提供开发和执行(运行)Java程序环境的工具包,包括两个东西,开发工具(提供开发java程序的环境)和JRE(执行java程序)......
  • EL表达式学习总结之基础篇
    EL表达式全称:ExpressionLanguageEL表达式一般操作的是作用域(application,session,request,pageContext)中的属性。EL变量指某一个作用域中的属性。<%=((Person)request......
  • ES6 解构基础用法和应用!
    ES6解构基础用法和应用!注意:解构只与语法有关,不与let,var,const相关 一、数组解构取值//数组---取值letarr=["张三","李四","王五"];leta=arr[0];letb=......
  • Redxu(RTK) 基础 性能与数据范式化 6.2 添加通知
    添加通知如果不能弹出通知告诉我们有人发布了消息、留下了评论或者对我们的帖子做出了回应,那么任何社交媒体应用都是不完整的。在一个真实的应用中,我们的客户端和后端服......
  • 后端基础——天线效应
    “在芯片生产过程中,暴露的金属线或者多晶硅(polysilicon)等导体,就象是一根根天线,会收集电荷(如等离子刻蚀产生的带电粒子)导致电位升高。天线越长,收集的电荷也就越多,电压就越......
  • 基础算法模板之二分
    二分1.算法分析对于一个有序的序列,在查找某个值时可以优先考虑中间值与待查找值的关系来缩减查找范围,每次可以缩减一半,因此称为二分。由于每次处理的数据量变为原来的......
  • python爬虫基础教程
    爬虫介绍爬虫就是程序,是从互联网中,各个网站上爬取数据(能浏览到的网页才可以爬),做数据清洗,入库爬虫本质:模拟http请求,获取数据,入库网站/app>抓包我们日......
  • 基础算法模板之归并排序
    归并排序1.算法分析归并排序是分治的思想,将一个序列分为多个子序列,先让每个子序列有序,再合并已有序的子序列。把长度为n的输入序列分成两个长度为n/2的子序列;对这两个......
  • Python基础数据类型
    一、字符串1、字符串赋值1.1直接赋值使用'',"",''''''(单、双、三引号)和“=”赋值符号,进行字符串赋值注意:三引号形式的字符串支持换行1.2 通过input()方法 2、字......