struct
1 | package main |
定义类型
type
类型名 基础类型
不要使用一个已经存在的类型名称作为变量的名称
1 | package main |
指针访问struct字段
使用点运算符在struct指针和struct上都可访问字段
这里和C就有区别了,C取普通struct变量的成员用.
,取指向struct的指针变量指向的成员要用->
,Go可以都用.
如果函数需要修改struct或者struct过大,应该向函数传递,返回指针
1 | package main |
struct 导出
定义类型的名称首字母必须大写才能导出该类型
struct字段的名称首字母必须大写才能导出该字段
1 | type MyType struct { |
struct 字面量
和映射差不多
1 | package main |
struct 嵌入
1 | package main |
匿名struct
一个内部struct使用匿名字段的方式存储在了外部的struct中,这被称为嵌入了外部struct。嵌入struct的字段被提升到了外部struct,可以像访问外部struct的字段一样访问它们
1 | package main |