结构体的声明
结构体标识符和结构体内的字段,如果大写,则表示公共的,可以在其他包内访问,否则是私有的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| /* 结构体的声明 type 标识符 struct{ field1 type field2 type } */ type student struct { name string age int }
func test1() { // 结构体定义的三种方式 var stu student stu.name = "方式1" stu.age = 18 fmt.Printf("stu[name:%s,age:%d]\n", stu.name, stu.age)
// 通过new关键字创建的结构体,返回的是地址,所以这里的stu1是指向地址的指针 stu1 := new(student) (*stu1).name = "方式2" (*stu1).age = 18 fmt.Printf("stu1[name:%s,age:%d]\n", (*stu1).name, (*stu1).age)
stu2 := &student{ name: "方式3", age: 18, } fmt.Printf("stu2[name:%s,age:%d]\n", (*stu2).name, (*stu2).age) }
func main() { test1() }
|