第7课 Go结构struct
来源:互联网 发布:哪个基金软件好 编辑:程序博客网 时间:2024/06/06 09:03
package mainimport "fmt"/*结构struct-Go中的struct与C中的struct非常相似,并且Go没有class-使用type <Name> struct{}定义结构,名称遵循可见性规则-支持指向自身的指针类型成员-支持匿名结构,可用作成员定义成员变量-匿名结构也可以用于map的值-可以使用字面值对结构进行初始化-允许直接通过指针来读写结构成员-相同类型的成员可进行直接拷贝复制-支持==与!=运算符,但不支持> 或 <-支持你名字段,本质上是定义了以某个类型名为名称的字段-嵌入结构作为你名字段看起来像继承,但不是继承-可以使用你名字段指针*/type person struct { Name string Age int}type person_temp struct { Name string Age int Contact struct { Phone, City string } //嵌套匿名结构}func main() { a := person{} a.Age = 13 a.Name = "joe" b := person{ Name: "joe", Age: 19, } //字面值的初始化 A(&a) fmt.Println("------") fmt.Println(b) fmt.Println("------") c := person_temp{} c.Age = 20 c.Name = "Lihuidi" c.Contact.City = "邯郸" c.Contact.Phone = "15684505257" //对嵌套匿名结构的结构的初始化方法 fmt.Println(c) fmt.Println("------") fmt.Println(a == b) //判断a和b是否相等}func A(per *person) { fmt.Println("A", per)}//结构支持匿名结构
package mainimport "fmt"type human struct { Sex int}type teacher struct { human Name string Age int}type student struct { human //本质上把结构名称作为字段名称 Name string Age int}//结构的嵌入func main() { a := teacher{Name: "joe", Age: 19, human: human{Sex: 1}} //操作方法! b := student{Name: "joe", Age: 20, human: human{Sex: 0}} //请记住这个操作方法! a.Name = "joe2" a.Age = 21 a.Sex = 0 //可见,嵌入之后所有的变量都属于新的结构了 fmt.Println(a, b)}
package mainimport ( "fmt")type A struct { B Name string}type B struct { Name string}func main() { a := A{Name: "A", B: B{Name: "B"}} fmt.Println(a.Name, a.B.Name) //成功取到了同名字段,如果最高级不存在Name,会自动往下找,知道找到Name}
0 0
- 第7课 Go结构struct
- go struct结构的实例
- Go语言笔记:struct结构遍历
- Go编程基础—结构(struct)
- Go struct
- Go struct
- go []*struct{}
- Go语言核心之美 3.4-Struct结构体
- Go语言,struct结构体的那些奇怪的用法
- 谈一谈Go的结构体struct的使用方法
- go - struct类型
- go struct 类型
- go语言struct
- go-struct、方法
- Go语言基础:struct
- Go-再论struct
- GO struct 小结
- Go:Struct Tag
- 利用特征根方程实现通项公式与递推关系的互换
- linux中ps配合Kill进程的N种方法
- String字符串的操作
- Python学习笔记六:列表、元组、字典
- 一些资源汇总,持续更新
- 第7课 Go结构struct
- Keil编程环境下的错误
- iOS六种传值方式之观察者模式
- activity设置透明并取消跳转动画
- IIS和Apache配置文件默认路径
- getchar()功能
- poj2151(概率dp)
- 第8课 Go的方法method
- poj--2585(经典topo排序)