我已经尝试过以下代码:
package main
import (
"fmt"
"sync"
)
type T string
func main() {
var a sync.Map // map[interface{}]interface{}
var c T
// a.Store("a", T("A"))
a.Store("a", "A")
b, _ := a.Load("a")
c = b.(T)
fmt.Println(c)
}
这会得到一个错误panic: interface conversion: interface {} is string, not main.T。但是,如果我使用注释行,它就会起作用。
T和不是string相同的底层类型吗?这背后是什么?
至尊宝的传说
相关分类