go语言内置基础类型

1、数值型(Number)

三种:整数型、浮点型和虚数型(有符号整数表示整数范围 -2n-1~2n-1-1;无符号整数表示整数范围 0~2n-1)

go内置整型有:uint8, uint16, uint32, uint64, int8, int16, int32, int64。其中u开头的类型就是无符号整型

无符号类型能够表示正整数和零;而有符号类型除了表示正整数和零外,还可以表示负整数

byte类型和uint8类型一样,表示字节类型。

rune类型和int32类型一样,用来表示unicode的代码点,就是unicode字符所对应的整数

go定义了三个依赖系统的类型:uint, int和uintptr。对于32位系统uint=uint32, int=int32, uintptr为32位的指针;对于64位系统uint=uint64, int=int64, uintptr为64位的指针

go内置浮点类型有:单精度浮点型float32和双精度浮点型float64;主要区别是小数点后位数不同

go内置虚数类型有:complex64和complex128

加减乘除操作为数值类型共有;求余运算(%)是整数类型独有的。其他类型使用,编译会报错

2、字符串类型(string)

传统字符串是由字符组成,而go的字符串是由字节组成。字符串用 ` 符号类似单引号却不是单引号 或双引号来描述,区别是 ` 符号中的转义字符可原样输出,而双引号中的转义字符会被转义

package main

import "fmt"

func main() {
    var a = "hello \n world"
    var b = `hello \n world`

    fmt.Println(a)
    fmt.Println("-------------------------")
    fmt.Println(b)

}

输出结果如图

go语言内置基础类型

字符串基本操作:获取字符串长度,获取字符串中单个字节,字符串连接

package main

import "fmt"

func main() {
    var a string = "hello"
    var b string = "world"

    fmt.Println(len(a))
    fmt.Println(a[1])
    fmt.Println(a + b)
}

运行结果如图,从获取单个字节中可以看出,字符串是由字节组成

go语言内置基础类型

3、布尔型(bool)

bool类型只能是true或false;不能用空值(nil)或0等值直接判断