go算法入门(动态创建一个二维hash)
题目:
实现这样的方法: 可以动态创建一个二维Hash, 内容如下:
generate_hash(3)
获得:
{
"parent1": {
"child1": "value1"
},
"parent2": {
"child2": "value2"
},
"parent3": {
"child3": "value3"
}
}
代码如下:
package main
import ("fmt""strconv"
)
// 生成二维hash
func generate_hash(number int) map[string]map[string]string{// 声明一个hashhash := make(map[string]string)// 声明二维hashresult := make(map[string]map[string]string)// i遍历numberfor i := 1; i <= number; i++{// 声明变量key和value, strconv.Itoa函数(将int转换为string)key := "child" + strconv.Itoa(i)value := "string" + strconv.Itoa(i)// 写入hash[key] = value// 声明变量key1, strconv.Itoa函数(将int转换为string)key1 := "parent" + strconv.Itoa(i)// 写入result[key1] = make(map[string]string)result[key1][key] = value}return result
}
func main() {// 调用函数fmt.Println(generate_hash(3))
}
结果:
map[parent1:map[child1:value1] parent2:map[child2:value2] parent3:map[child3:value3]]