// Map 是一种无序的键值对的集合。
// Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。
// Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。
// 不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。
package main
import "fmt"
// 递归函数
func Factorial(x int) (result int) {
if x == 0 { //这里是从0一直return到设置的数字,然后再返回,
result = 1
} else {
result = x * Factorial(x-1)
}
return result
}
func main() {
var countryCapitalMap map[string]string //定义集合,初始为nil
countryCapitalMap = make(map[string]string)
// 插入键值对
countryCapitalMap["France"] = "Paris"
countryCapitalMap["Italy"] = "Rome"
countryCapitalMap["China"] = "Paking"
for country := range countryCapitalMap { //这里country如果是键,就不用加占位符,默认是第一个
fmt.Println("Capital of", country, "is", countryCapitalMap[country])
}
captial, ok := countryCapitalMap["United States"] //这里的ok是看是否存在的,前面那个才是去键值对的、
if ok {
fmt.Println("Capital of United States is", captial)
fmt.Println(ok)
} else {
fmt.Println("Capital of United States is not present")
fmt.Println(ok)
}
//删除集合元素
delete(countryCapitalMap, "France")
for country := range countryCapitalMap {
fmt.Println("Capital of", country, "is", countryCapitalMap[country])
}
// 递归函数
var i int = 5 //数字不能太大,否则会超过int的界限
fmt.Println(i, "的阶乘是", Factorial(i))
//类型转换
var sum int = 17
var count int = 5
var mean float32
mean = float32(sum) / float32(count)
fmt.Println("mean的值为", mean)
}
Go语言学习九:Map(集合)、递归函数、类型转换
最新推荐文章于 2024-12-19 11:49:58 发布