Go语言基础:struct
来源:互联网 发布:淘宝卖家被敲诈 编辑:程序博客网 时间:2024/05/18 01:21
跟C语言或其它语言一样,也有结构体struct。C语言中用关键词typedef来给结构体定义,Go中用的都是type。
struct语法格式
type typeName struct {...}
例如:
type person struct { name string age int}
struct声明
var P personP.name = "Sun"P.age = 30//也可以P := peron{"Sun", 30}//通过 field:value 的方式初始化,这样可以任意顺序P := person{age:29, name:"Sun"}
上面有三种声明的方法,其中第三种比较特殊,是Go独有的声明。
struct的匿名字段
匿名字段也称为嵌入字段,C语言中也有这个功能,但是再Go中它比C更强大,更自由。
package mainimport "fmt"type Course []stringtype Student struct { name string age int32 grade string}type Class struct { Student // 匿名字段,struct Course // 匿名字段,自定义的类型 int32 // 内置类型作为匿名字段 teacher string}func main() { stu1 := Class{Student: Student{"Rob", 10, "4年纪"}, teacher: "杰伦"} //修改Course字段 stu1.Course = make([]string, 5) stu1.Course[0] = "English" stu1.Course = append(stu1.Course, "Chinsese") //修改匿名内置类型字段 stu1.int32 = 4 fmt.Print(stu1)}
输出:
{{Rob 10 4年纪} [English Chinsese] 4 杰伦}
上面的例子,可以看出Go中的struct不仅可以将struct作为匿名字段,用type自定的类型以及内置的类型都可以作为匿名字段。这点比C语言要强大自由多了。
0 0
- Go语言基础:struct
- go语言struct
- Go语言基础:深入理解 struct 内嵌 inteface
- Go语言学习笔记 --- struct
- Go语言中struct Tag
- go语言的struct类型
- Go语言学习四:struct类型
- Go语言笔记:struct结构遍历
- go语言学习之struct初认识
- Go编程基础—结构(struct)
- Go语言基础
- GO语言基础学习
- Go语言基础概念
- go 语言基础
- Go 语言基础语法
- go语言基础概要
- Go语言基础
- Go语言基础:函数
- QQ授权登录和微信授权登录
- D:/与D:\的区别
- Java(标准输入/输出流)
- 【UI】UILabel的详细使用
- css3动画属性--animation(动画)
- Go语言基础:struct
- ACM学习历程24——最大回文子串
- 利用BitmapFactory.Options类解决图片过大问题
- c语言练习题——指针和链表训练
- 显卡学习
- this关键字和super关键字
- leetcode作业完成在这个blog //更新于17.1.8
- 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
- Ubuntu下安装和配置Scala教程