Go语言可以写数据结构嘛 go语言可以写数据结构嘛知乎( 四 )


结构体的“继承”
Go语言中使用结构体也可以实现其他编程语言中面向对象的继承 。
结构体字段的可见性
结构体中字段大写开头表示可公开访问,小写表示私有(仅在定义当前结构体的包中可访问) 。
结构体与JSON序列化
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 。易于人阅读和编写 。同时也易于机器解析和生成 。JSON键值对是用来保存JS对象的一种方式 , 键/值对组合中的键名写在前面并用双引号""包裹,使用冒号:分隔,然后紧接着值Go语言可以写数据结构嘛;多个键值之间使用英文,分隔 。
结构体标签(Tag)
Tag是结构体的元信息,可以在运行的时候通过反射的机制读取出来 。Tag在结构体字段的后方定义,由一对反引号包裹起来 , 具体的格式如下:
`key1:"value1" key2:"value2"`
结构体标签由一个或多个键值对组成 。键与值使用冒号分隔,值用双引号括起来 。键值对之间使用一个空格分隔 。注意事项:为结构体编写Tag时,必须严格遵守键值对的规则 。结构体标签的解析代码的容错能力很差,一旦格式写错,编译和运行时都不会提示任何错误,通过反射也无法正确取值 。例如不要在key和value之间添加空格 。
例如我们为Student结构体的每个字段定义json序列化时使用的Tag:
Go数据结构篇1、基本数据类型
bool
string
intint8 int16 int32 int64
uintuint8 uint16 uint32 uint64 uintptr
byte // alias for int8
rune // alias for int32,represents a Unicode code point
float32 float64
complex64 complex128
常量定义
2、类型转换
(1)Go语言不允许隐式类型转换(不支持小位数类型向大位数类型转)
(2)别名和原有类型也不能进行隐式类型转换(type MyInt int64 = int64)
3、类型Go语言可以写数据结构嘛的预定义值
1.math.MaxInt64
2.math.MaxFloat64
3.math.MaxUInt32
4、指针类型
(1)不支持指针运算
(2)string是值类型Go语言可以写数据结构嘛,其默认的初始化值为空字符串Go语言可以写数据结构嘛,而不是nil
5、算术运算符
+ - * / % ++ --(不支持前置++ --)
6、比较运算符
#==!===
(1)比较数组
相同维数且含有形同个数元素的数组才可以比较
每个元素都相同的才相等
7、位运算符
| ^
^ (按位置零)a(^b)
1^01
1^10
0^10
0^00
8、条件与循环
(1)循环
Go 语?仅?持循环关键字 for
(2)条件
9、数组和切片
数组截?。饕卤甏?开始计数
a[开始索引(包含), 结束索引(不包含)]
a := [...]int{1, 2, 3, 4, 5}
a[1:2] //2
a[1:3] //2,3
a[1:len(a)] //2,3,4,5
a[1:] //2,3,4,5
a[:3] //1,2,3
切片内部结构
9、Map
9、字符串
Unicode UTF8
常?字符串函数
Go语言可以写数据结构嘛的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go语言可以写数据结构嘛知乎、Go语言可以写数据结构嘛的信息别忘了在本站进行查找喔 。

推荐阅读