Go语法基础
go的语法长相类似C语言,但却简单很多
变量
go是一门强类型的语言,但是与c不同的是,go的类型声明是后置的,比如:var a int
基本类型
- bool 布尔值
- int float32 float64 complex64 complex128 uint8 uint16 uint32 uint64 int8 int16 int32 int64 uint rune byte uintptr 数字类型
- string 字符串
- *int *float32 ... 指针
- slice 切片
- interface 接口类型
- map
- struct 结构体
- nil 空
rune类型
rune类型是用来表示字符的,可以是一个ASCII字符,也可以是一个utf-8字符
所以一个rune != 一个byte
比如中是一个非ASCII码,他是一个rune但是可能是2个字节
变量声明
方式1
var a int = 3
方式2
这种方式会自动推断类型
a := 3
条件语句
a := 10
if a < 20 {
fmt.Println("a is smaller than 20")
} else if a > 100 {
fmt.Println("a is bigger than 100")
} else {
fmt.Println("a is not smaller than 20 and not bigger than 100")
}
在if语句的条件中可以初始化变量,例如
if err := Connect(); err != nil {
log.Fatal(err)
return
}
循环
go中没有while循环可以直接用for循环代替 (好评)
for i:=1; i<=10; i++ {
fmt.Println("Hi")
}
for {
// 死循环
}
strs := []string{"one", "two"}
for i, str := range strs {
fmt.Println("The ", i, " str is ", str)
}