golang中.([]byte)和 []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)
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章