拿这两段代码来说:
- http://play.golang.org/p/Oh6xNm2dRK
func main() {
var media interface{}
media = "boo"
media = media.(string)
fmt.Println([]byte(media))
}
- http://play.golang.org/p/Vd-6AGCBKQ
func main() {
media := "boo"
fmt.Println([]byte(media))
}
1. 首先将媒体创建为空接口,然后将类型断言为字符串。
2.媒体是字符串。
两者都尝试将媒体转换为字节数组,为什么不同?到时候他们不都已经是弦了吗?
第一个不会改变类型media
,它已经被定义为interface{}
。您需要将其设置为新的字符串变量:
func main() {
var media interface{}
media = "boo"
x := media.(string)
fmt.Println([]byte(x))
}
http://play.golang.org/p/QB3ey_e3io
或者内联执行:
func main() {
var media interface{}
media = "boo"
fmt.Println([]byte(media.(string)))
}
http://play.golang.org/p/RJqBJ4telB
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)