> 文章列表 > go算法入门(动态创建一个二维hash)

go算法入门(动态创建一个二维hash)

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]]