go-基础数据类型

基础类型包括:数字、字符串、布尔型

整型

浮点数

复数

布尔值

字符串

字符串是不可变的字节序列, 可以通过下表访问:

1
2
3
s := "hello, world"
fmt.Println(len(s)) // "12"
fmt.Println(s[0], s[7]) // "104 119" (即'h' 和 'w')

  • 子串生成操作s[i:j] 产生一个新字符串,内容取自原字符串的字节
  • 加号(+)运算符连接两个字符串而生成一个新字符串
1
fmt.Println("goodby" + s[5:]) // "goodbye, world"
1
2
3
4
5
s := "left foot"
t := s
s += ", right foot"
fmt.Println(s) // "left foot, right foot"
fmt.Println(t) // "left foot"

这里并不改变s原有的字符串值,只是将+=语句生成的新字符串赋予s。同时,t仍然持有旧的字符串值

1
s[0] = 'L' // 编译错误:s[0] 无法赋值

因为字符串不可改变,所以字符串内部的数据不允许修改

原生的字符串字面量的书写形式:..., 使用反引号而不是双引号。原生的字符串字面量内,转移符不起作用

常量

常量在编译阶段就计算出了表达式的值,并不需要等到运行时。常量本质上属于基本类型:布尔型、字符串或数字

  • 常量生成器: iota