前言
我们知道的基本类型有数值型,字符型等等,但是这些基本类型只能表示同一种元素类型的集合,如果我要表示学生的信息,一个学生包括姓名(字符型),学号(整型),年龄(整型)等属性,基本的数据类型只能表示其中一个属性,想要表示学生的信息,就要把这些属性全部描述出来,这个时候就要用到结构体了
定义
结构体可以简单理解位若干个基本数据类型的组合
定义:
type Student struct {
Name string
ID int
Age int
}
初始化
键值对初始化
在初始化的时候,给属性赋值,如果有的属性不写,则为默认值。
//demo1
package main
import "fmt"
type Student struct {
Name string
ID int
Age int
}
func main() {
var st = Student{
//属性: 值
Name: "jack", //需要尾随逗号
ID: 123456,
Age: 18,
}
fmt.Println(st)
}
其中
var st = Student
也可以写成
st := Student
输出结果是:
{jack 123456 18}
值列表初始化
在初始化的时候直接按属性顺序给属性赋初始值,不必写属性
st := Student{
//值
"jack",
123456,
18,
}
以值列表方式初始化,值列表的个数必须等于结构体属性的个数,并且必须按顺序
结构体成员访问
使用 .
号来访问结构体成员, .
前是结构体变量或者结构体指针
package main
import "fmt"
type Student struct {
Name string
ID int
Age int
}
func main() {
st := Student{
//值
"jack",
123456,
18,
}
fmt.Println(st.Name)
}
输出结果是:
jack