1. 程式人生 > 程式設計 >golang 實現interface{}轉其他型別操作

golang 實現interface{}轉其他型別操作

golang中的string是可以轉換為byte陣列或者rune陣列

但是其實byte對應的型別是uint8,而rune對應的資料型別就是int32

所以string可以轉換為四種類型

//interface轉其他型別————返回值是interface,直接賦值是無法轉化的
 //interface 轉string
 var a interface{}
 var str5 string
 a = "3432423"
 str5 = a.(string)
 fmt.Println(str5)
 
 //interface 轉int
 var m interface{}
 var m1 int
 m = 43
 m1 = m.(int)
 fmt.Println(m1)
 
 //interface 轉float64
 var ff interface{}
 var ff1 float64
 ff = 432.54
 ff1 = ff.(float64)
 fmt.Println(ff1)

補充:golang interface 轉 string,int,float64

看程式碼吧~

func interface2String(inter interface{}) { 
  switch inter.(type) {
 
  case string:
    fmt.Println("string",inter.(string))
    break
  case int:
    fmt.Println("int",inter.(int))
    break
  case float64:
    fmt.Println("float64",inter.(float64))
    break
  } 
}
 
func main() {
  interface2String("jack")
  interface2String(1)
  interface2String(12.223)
}
string jack
int 1
float64 12.223

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。