Go 语法基础 | 青训营笔记

93 阅读1分钟

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)
}