今天用redis遇到了.([]byte)的情况,所以转载一篇文章记录下
fmt.Println(string(re.([]byte)))
.([]byte)
value, ok := var.([]byte)
这是标准的golang类型断言(Type Assertion)。这里的val一般是一个interface{}类型的变量。这句的字面含义是“我认为val这个interface{}类型变量的underlying type是[]byte,如果是,请将其值赋给变量value,并且ok =true,如果不是ok = false。
[]byte()
value, ok := []byte(var)
这是标准的golang显式转型,将变量var转换成[]byte类型,并赋值给value
举个栗子
package main
import "fmt"
func main() {
temp := map[string]string{
"vw":"大众",
"BMW":"宝马",
}
var glt interface {}
value , ok := temp["vw"]
glt = "volkswagen"
if ok && "大众" == value {
temp["vw"],_ = glt.(string)
}
fmt.Println(temp)
}
————————————————
版权声明:本文为CSDN博主「斛兵塘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012460314/article/details/103302207