go语言之map取值
package main import ( "fmt" ) func main() { //定义一个map temp_dict := make(map[string]string) temp_dict["A"] = "A__value" //1获取某一个key的值 //1.1 两个返回值 r1_value, r1_exisit := temp_dict["A"] fmt.Printf("A 存在 r1_value = %s, r1_exisit = %t\n", r1_value, r1_exisit) r2_value, r2_exisit := temp_dict["E"] fmt.Printf("E 不存在 r2_value = %s, r2_exisit = %t\n", r2_value, r2_exisit) /* A 存在 r1_value = A__value, r1_exisit = true E 不存在 r2_value = , r2_exisit = false 总结,两只返回值接收的时候,第一个返回值=value 第二个返回值=是否存在 */ //1.2 一个返回值 r3_value := temp_dict["A"] fmt.Printf("A 存在 返回值r3_value: %s\n", r3_value) r4_value := temp_dict["E"] fmt.Printf("E 存在 返回值r4_value: %s\n", r4_value) /* A 存在 r3_value = A__value E 不存在 r4_value = '' 总结:一个返回值接收的时候,返回值=值 */ // WARNING,看下面的例子 warn_arr := make(map[string]bool) warn_arr["A"] = true warn_arr["B"] = false // 你如果判断value,则取值value 则使用 返回一值 // 你如果相判断key是否存在,则使用 返回两值 for _, key := range [3]string{"A", "B", "C"} { r5_value, r5_exisit := warn_arr[key] r6_value := warn_arr[key] fmt.Printf("两种返回值 %s存在=%t %s值=%t\n", key, r5_exisit, key, r5_value) fmt.Printf("一种返回值 %s值=%t\n", key, r6_value) } /* 两种返回值 A存在=true A值=true 一种返回值 A值=true 两种返回值 B存在=true B值=false 一种返回值 B值=false 两种返回值 C存在=false C值=false 一种返回值 C值=false 总结:如果不存在直接取值,则返回是值类型的特殊值 False '' 0 */ }
-----------------------------------------------------------------------------------------------------------------------------------------