map interface{}

 

 
package main

import (
    "fmt"
)

func main() {

    mapInterface := make(map[interface{}]interface{})   
    mapString := make(map[string]string)

    mapInterface["k1"] = 1
    mapInterface[3] = "hello"
    mapInterface["world"] = 1.05

    for key, value := range mapInterface {
        strKey := fmt.Sprintf("%v", key)
        strValue := fmt.Sprintf("%v", value)

        mapString[strKey] = strValue
    }

    fmt.Printf("%#v", mapString)
}
 

 

root@ubuntu:~/go_learn/example.com/hello# go build -o hello .
root@ubuntu:~/go_learn/example.com/hello# ./hello 
map[string]string{"3":"hello", "k1":"1", "world":"1.05"}

 

 

package main

import "fmt"

func main() {
    m := make(map[string]interface{})
    m["int"] = 123
    m["string"] = "hello"
    m["bool"] = true

    for _, v := range m {
        switch v.(type) {
        case string:
            fmt.Println(v, "is string")
        case int:
            fmt.Println(v, "is int")
        default:
            fmt.Println(v, "is other")
        }
    }
    fmt.Println(m)

}

 

 

 

root@ubuntu:~/go_learn/example.com/hello# ./hello 
123 is int
hello is string
true is other
map[bool:true int:123 string:hello]

 

 

结构体转map[string]interface{}

 

posted on 2021-07-16 17:12  tycoon3  阅读(160)  评论(0编辑  收藏  举报

导航