声明变量
Go 语言使用 var 关键字声明变量,例如:
var a int
a = 5
也可以用短变量声明方式声明变量:
a := 5
这种方式会自动推导变量类型。如果要声明并初始化多个变量,也可以写作:
var a, b int = 5, 10
控制流程
Go 语言中的控制流程语句有 if、for 和 switch,它们的语法都与其他语言类似。
if 语句示例:
if x > 10 {
fmt.Println("x is greater than 10")
} else {
fmt.Println("x is less than or equal to 10")
}
for 语句示例:
sum := 0
for i := 1; i <= 10; i++ {
sum += i
}
fmt.Println(sum) // 输出 55
switch 语句示例:
switch os := runtime.GOOS; os {
case "darwin":
fmt.Println("macOS.")
case "linux":
fmt.Println("Linux.")
default:
fmt.Printf("%s.", os)
}
定义函数
Go 语言使用关键字 func 定义函数,函数以参数列表和返回值列表作为定义。
示例:
func add(a, b int) int {
return a + b
}
数组和切片
Go 语言中的数组和切片使用类似的语法。
申明一个长度为 3 的整型数组:
var a [3]int
a[0] = 1
a[1] = 2
a[2] = 3
定义一个字符串切片:
var s []string
s = append(s, "hello", "world")
结构体
Go 语言的结构体是一种用于组织数据的数据类型。
比如:
type Person struct {
Name string
Age int
}
p := Person{"Tom", 18}
fmt.Printf("Name: %s, Age: %d\n", p.Name, p.Age)
并发编程
Go 语言原生支持协程(goroutine)和通道(channel),方便进行高效的并发编程。示例
func main() {
c := make(chan int)
go func() {
c <- 10
}()
x := <-c
fmt.Println(x) // 输出 10
}