100人浏览 2024-10-28 09:46:10
Go语言提供了非常丰富的数据类型,可分为以下四大类:
基础类型:整数类型(int)、浮点类型(float)、字符串类型(string)、布尔类型(bool)、复数类型(complex)、错误(error)
复合类型:数组(array)、结构体(struct)
引用类型:字典(map)、切片(slice)、通道(channel)、函数(func)、指针(pointer)
接口类型:接口(interface)
整数类型用来描述整数。
浮点类型用来描述小数。
字符串是开发中最常用的数据类型,字符串类型是只读的,其值不可更改。
布尔类型只有true和false两个值,默认值false。
数组描述了相同类型的一组数据,数组一旦定义后其长度就确定了且不能被修改。
结构体将基础数据类型通过组合的方式,形成一个自定义的类型,以下定义了一个学生类型的结构体。
//学生结构体
type Student struct {
//学号ID
Id int64
//姓名
Name string
//班级ID
Class int8
}
结构体相当于其他高级语言中的类(class)。
Go中的字典是一个Key-Value结构的数据结构,使用map来定义,默认值为nil。
切片可以理解成动态数据,可以根据需要自动增加其长度和容量,当元素个数超过切片容量时,会以成倍增加方式来扩容,切片默认值为nil。
通道是Go中非常核心的数据类型,主要用于协程间的通信,Go哲学是不要通过共享内存通信,应该通过通信共享内存,通道默认值为nil。
Go中的指针是安全的,也可以通过其他手段进行指针转换,其只有两种运算符,
*运算符是取出其值,&运算符是取变更的地址,默认值nil。
函数是Go中的一等公民,通常封装了一段共用的代码块,减少重复开发工作。
接口定义了一组行为,实现了该接口类型的对象就属于该接口类型,空接口可以表示任何类型,默认值nil。