type Student struct {
Name string //字段
Age int //字段
Score float32
}
字段/属性
基本介绍
从概念或叫法上看:
结构体字段 = 属性 = field
字段是结构体的一个组成部分,一般是基本数据类型、数组,也可是引用类型。
注意事项和细节说明
字段声明语法同变量
示例:字段名 字段类型
字段的类型可以为:
基本类型、数组或引用类型
在创建一个结构体变量后,如果没有给字段赋值,都对应一个零值(默认值)
布尔类型是 false ,数值是 0 ,字符串是 ""。
数组类型的默认值和它的元素类型相关,比如 score [3]int 则为[0, 0, 0]
指针,slice,和 map 的零值都是 nil ,即还没有分配空间。
演示案例
如果结构体的字段类型是: 指针,slice,和map的零值都是 nil ,即还没有分配空间
如果需要使用这样的字段,需要先make,才能使用.
type Person struct{
Name string
Age int
Scores [5]float64
ptr *int //指针
slice []int //切片
map1 map[string]string //map
}
func main() {
//定义结构体变量
var p1 Person
fmt.Println(p1)
}
if p1.ptr == nil {
fmt.Println("ok1")
}
if p1.slice == nil {
fmt.Println("ok2")
}
if p1.map1 == nil {
fmt.Println("ok3")
}