golang資料型別互換

catboygg-發表於2020-11-12

由於go是強型別語言,因此在你用別人寫的處理函式的時候,變數型別的準確性還是很重要的,今天寫東西的時候碰到go型別轉換的問題,總結一下吧,沒有用型別斷言,直接上程式碼,只有幾種,後面有的話再補上:
第一種: 介面型別轉字串型別

var inter interface{}
	inter = "hello"
	str := inter.(string)
	fmt.Println(reflect.TypeOf(str))

編譯執行結果是這樣的:
在這裡插入圖片描述
第二種:介面型別轉int型

var inter interface{}
	inter = 1
	str := inter.(int)
	fmt.Println(reflect.TypeOf(str))

編譯執行結果如下:
在這裡插入圖片描述
第三種:int型別轉字串:
暴力方法:str := “1”,意思你在知道準確定資料的時候就這樣用;
不過大多都是不知道的準確資料的情況

func data() int {
	number := 1
	return number
}
func main(){
   num := data()
   str := string(num)
	fmt.Println(reflect.TypeOf(str))
}

寫了一個data函式模擬不知道資料的情況,結果是這樣的:
在這裡插入圖片描述
今天我遇到的問題是從中介軟體get到的資料是interface{}型別的,然後我想直接把它轉化為字串型拼接到url裡面,結果他會報錯interface{} is int,can not convert大概就是這個意思,我的做法就是先把他轉為Int型,然後在把它轉化為string型!

相關文章