摘要: 字典是一种数据结构,用于存储一系列无序的键值对。 字典是基于键来存储值。字典功能强大的地方是能够基于键快速检索数据。 键就像索引一样,指向与键关联的值。 1.内部实现 字典是一个集合,可以使用类似处理数组和切片的方式迭代字典中的元素。 但字典是无序的集合,意味着没有办法预测键值对被返回的顺序。 即使 阅读全文
posted @ 2018-12-09 09:21 明王不动心 阅读(1126) 评论(0) 推荐(0) 编辑
摘要: 1.内部实现 在Go语言里,数组是一个长度固定的数据类型,用于存储一段具有相同的类型的元素的连续块。 数组存储的类型可以是内置类型,如整型或字符串,也可以是某种结构类型。 灰格子代表数组里面的元素,每个元素都紧邻另一个元素。 每个元素都属于相同的类型,并且每个元素可以用一个唯一的索引(也称下标或标号 阅读全文
posted @ 2018-12-09 06:04 明王不动心 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 反射(reflect)让我们能在运行期探知对象地类型信息和内存结构,这从一定程度上弥补了静态语言在动态行为上地不足。和C数据结构一样,Go对象头部并没有类型指针,通过其自身是无法在运行期获知任何类型相关信息地。反射操作所需地全部信息都源自接口变量。接口变量除存储自身类型外,还会保存实际对象地类型数据 阅读全文
posted @ 2018-12-09 02:06 明王不动心 阅读(231) 评论(0) 推荐(0) 编辑
摘要: Go语言提供了另外一种数据类型,即接口,它把所有具有共性的方法定义在一起,任何其它类型只要实现了这些方法就是实现了这个接口。接口代表一种调用契约,是多个方法声明的集合。在某些动态语言里,接口(interface)也被称作协议(protocol)。准备交互的双方,共同遵守事先约定的规则,使得无须知道对 阅读全文
posted @ 2018-12-09 01:55 明王不动心 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 方法是与对象实例绑定的特殊函数。方法是面向对象编程的基本概念,用于维护和展示对象的自身状态。对象是内敛的,每个实例都有各自不同的独立特征,以属性和方法来暴露对外通信接口。普通函数则专注于算法流程,通过接收参数来完成特定逻辑算法,并最终返回结果。换句话说,方法是有关联状态的,而函数通常没有。方法和函数 阅读全文
posted @ 2018-12-09 01:46 明王不动心 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Go语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。结构体定义需要使用type和struct语句。struct语句定义一个新的数据类型,结构体中有一个或多个成员。type语句设定了结构体的名称。格式如下: 阅读全文
posted @ 2018-12-09 01:36 明王不动心 阅读(676) 评论(0) 推荐(0) 编辑
摘要: Go中字典类型是散列表(hash table)的一个实现,其官方称谓是map。散列表是一个实现了关联数组的数据结构,关联数组是用于表示键值对的无序集合的一种抽象数据类型。Go中称键值对为键-元素对,它把字典中的每个键都看作与其对应的元素的索引,这样的索引再同一个字典值中是唯一的。下面的代码声明了一个 阅读全文
posted @ 2018-12-09 01:07 明王不动心 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 切片(slice)可以看作一种对数组的包装形式,它包装的数组为该切片的底层数组。反过来讲,切片是针对其底层数组中某个连续片段的描述,下面的代码声明了一个切片类型的变量: var ips = []string{"192.168.1.1","192.168.1.2","192.168.1.3"}与数组不 阅读全文
posted @ 2018-12-09 01:01 明王不动心 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 数组(array)就是由若干个相同类型的元素组成的序列。 在这条赋值语句中,我们为刚声明的变量ipv4赋值。在这种情况下,变量名右边的类型字面量可以省略。如果它在函数里面,那么关键字var也可以省略,但赋值符号必须由=变为:=。类型字面量[4]uint8表明这个变量的类型长度为4且元素类型为uint 阅读全文
posted @ 2018-12-09 00:36 明王不动心 阅读(1545) 评论(0) 推荐(0) 编辑
摘要: Go在流程控制方面的特点如下: 没有do和while循环,只有一个更广义的for语句。 switch语句灵活多变,还可以用于类型判断。 if语句和switch语句都可以包含一条初始化子语句。 break语句和continue语句可以后跟一条标签(label)语句,以标识需要终止或继承的代码块。 de 阅读全文
posted @ 2018-12-09 00:20 明王不动心 阅读(293) 评论(0) 推荐(0) 编辑