https://play.golang.org/p/PcQ81RtDk2package main
import (
"fmt"
"strconv"
)
func main() {
var t map[string]interface{} // Создаем переменную, сейчас она nil и мы не можем в неё класть ключи
t = make(map[string]interface{}) // Создаем map в памяти, теперь можем класть ключи
t["key"] = "1" // Кладём ключ
var num int
rawValue, ok := t["key"] // Вытаскиваем ключ из map
if ok {
stringValue, ok := rawValue.(string) // Вытаскиваем string из interface{}
if ok {
var err error
num, err = strconv.Atoi(stringValue) // Парсим string в int
if err == nil {
fmt.Println(num)
} else {
fmt.Println("Число имеет неверный формат")
}
} else {
fmt.Println("Внутри interface{} лежит не тип string")
}
} else {
fmt.Println("Такого ключа нет в map")
}
}