一、Go 语言Map(集合)

Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。

Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。

代码示例一:
创建和使用map:
Go语言学习(十三)Go 语言Map(集合)、Go语言递归函数、Go语言类型转换
中间改了一些参数
Go语言学习(十三)Go 语言Map(集合)、Go语言递归函数、Go语言类型转换
注意:如果不初始化 map,那么就会创建一个 nil map。nil map 不能用来存放键值对,本题中就是这样

总结:
键值对时使用map是无序序列,
代码实例二:
delete() 函数用于删除集合的元素, 参数为 map 和其对应的 key。
Go语言学习(十三)Go 语言Map(集合)、Go语言递归函数、Go语言类型转换

二、Go语言递归函数

递归,就是在运行的过程中调用自己。
Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。

递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。

实例代码一:
以下实例通过 Go 语言的递归函数实例阶乘:
Go语言学习(十三)Go 语言Map(集合)、Go语言递归函数、Go语言类型转换
总结:在这里类型使用int和uint没什么区别,因为算的阶乘都是正数
代码实例二:
斐波那契数列
Go语言学习(十三)Go 语言Map(集合)、Go语言递归函数、Go语言类型转换
说明:当i=0,n=0;当i=1,n=1;当i=2,n=1+0=1;当i=3,n=1+1=2(其中与别的代码不相同的主要是其中的n<2)

三、Go语言类型转换

类型转换用于将一种数据类型的变量转换为另外一种类型的变量。Go 语言类型转换基本格式如下:type_name(expression)
代码实例:
以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量:
Go语言学习(十三)Go 语言Map(集合)、Go语言递归函数、Go语言类型转换

相关文章: