无符号整型

uint 8、uint 16、uint 32、uint 64、uint(32 位操作系统为 uint 32,64 位操作系统为 uint 64)、byte(等效 unit 8,存储字符的时候用)

有符号整型

int 8、int 16、int 32、int 64、int(32 位操作系统为 int 32,64 位操作系统为 int 64)、rune (等效 int 32,标识一个 unicode 码)

浮点型

float 32、float 64

var a float32 = .152 // .152 等效 0.152 省略0
var b float64 = -0.12 // 浮点数都是有符号类型,不像整数

浮点型,可以赋予整数值,但是不能赋予整数类型变量

// 赋予整数值是可以的
var a float32 = 10
var b int = 20
// 这个是不可以的
a = b

字符型

byte (没有字符类型的,用 byte 来保存,因为 byte 满足 ascii 编码),byte 是 unit8的别名

var c1 byte = 'a' // 单引号标识字符,byte够存a的utf8码值
var c2 byte = '0'
var c3 int = '北' // 汉字的utf8编码必须要用int类型来存储
var c4 = 10 + 'a'
fmt.Printf("%c",c1) // 需要格式化输出,不然输出的是ascii
fmt.Printf("%c",c2)
fmt.Printf("%c",c3)
fmt.Printf("%v",c4) // 输出107

因为 byte 的数值范围最大只有到 255,所以不能用于存储中文,需要改成 runte 或者 int 类型

var c3 route = '北' // 汉字的utf8编码必须要用int类型来存储
fmt.Printf("%c",c3)

go 语言中的字符没有特定的类型,需要用整型来存储字符的 utf 8 的编码

  1. 字符用单引号
  2. byte 存储数字和英文
  3. 中文可以用 int 存

布尔类型

bool(只能 true,或者 false)

字符串类型

字符串类型定义

var str string

go 中的字符串是不可以改变的

var a = "hello"
a[0] = 'a'// 会报错

用+来拼接字符串,如果字符串太长,需要将+号写在行末,不能写在另外一行的开头,因为 go 会在行末加上分号,如果发现是+号,就不加分号

var str = "a"+
"b"+"c"

go 中字符可以用双引号标识字符串,但是会识别特殊字符,可以用反引号,不会识别特殊字符

最后修改:2023 年 12 月 30 日
如果觉得我的文章对你有用,请随意赞赏