学习golang(day 4)- map、函数入门 2022-05-18 22:25:00 编程 golang 暂无评论 308 次阅读 1163字 修改时间:2022-05-18 23:17:42 # map show me the code **声明和初始化** ```go // make 声明map map1 := make(map[string]string) map1["name"] = "tom" map1["age"] = "18" // 第一个参数为value,第二个参数如果存在,则为true k, isExist := map1["name"] fmt.Print(k, isExist) // 使用map对象直接初始化 map2 := map[string]string{ "name": "张三", "age": "20", } fmt.Printf("map2: %v\n", map2) ``` **遍历map** ```go // 使用for range遍历 map2 := map[string]string{ "name": "张三", "age": "20", } for k := range map2 { fmt.Println(map2[k]) } for k, v := range map2 { fmt.Println(k, ":", v) } ``` ------------ #函数 golang 中没有 “类” 的定义,函数就 “一级公民” **函数的特征:** - 3种函数:普通函数、匿名函数、方法(定义在结构体上的) - 不允许重载 - 函数可以赋值给变量 - 函数可以作为参数传递 - 函数的返回值可以是一个函数 - 函数的参数可以没有名称 - 非指针的参数都是值传递 **定义** func name([param])[return_type]{ } **不同函数的示例** ```go // 无返回值的函数 func test1(a ...int) { for _, v := range a { fmt.Printf("v: %v\n", v) } } // 有返回值的函数 func test2(a int, b int) (result int) { result = a + b return result } // 有2个返回值的函数 func test3() (name string, age int) { name = "张三" age = 18 // return name, age return // 和上面的等价 } ``` 标签: golang
评论已关闭