说明:
长度是指占用的内存资源
零值是指默认值
1.1布尔类型
var b1 bool = trueb2 := (1==1) //b2会被自动推导为bool类型
//错误示例var b boolb = 1 //编译报错b = bool(1) //编译报错
1.2整型
var i int = 1j := 2 //自动推导为2
1.3浮点型
var i float32 = 3.14 //go语言中没有float类型j := 33.0 //如果不加小数点,会被自动推导为int,//加小数点,自动推导float64(为了确保计算精度)
1.4字符类型
在go语言中,支持两个字符类型
一个是:byte(uint8的别名),代表utf-8字符串的单个字节的值
另一个是:rune,代表单个 unicode字符
package mainimport "fmt"func main() {var ch1, ch2, ch3 bytech1 = 'a' //字符赋值ch2 = 97 //字符的ascii码赋值,也是ach3 = '\n' //转义字符(换行符)fmt.Printf("ch1 = %c, ch2 = %c, %c", ch1, ch2, ch3)}
1.5字符串
package mainimport "fmt"func main(){var str = "This is string"var ch = str[0] //go也可以进行类似于python的切片fmt.Println(str)fmt.Println(string(ch)) //如不进行强制转换,输出的值为84('T'的ascii码)}
1.6复数类型
复试实际上是由两个实数(在计算机中用浮点数)构成,一个是实部(real),一个是虚部(imag)
package mainimport "fmt"func main(){var c1 complex64 //由两个float32构成的复数形式c1 = 3.2 + 5.7ic2 := 5.6 + 79i //为了确保精度,自动推导为complex128c3 := complex(5.6, 79) //结果同c2fmt.Println(c1, c2, c3)//内置函数real()可以获得该复数的实部//内置函数imag()可以获得该复数的虚部fmt.Println(real(c1),imag(c1))}
运行结果:
