golang中的string是可以轉(zhuǎn)換為byte數(shù)組或者rune數(shù)組
但是其實(shí)byte對(duì)應(yīng)的類(lèi)型是uint8,而rune對(duì)應(yīng)的數(shù)據(jù)類(lèi)型就是int32
所以string可以轉(zhuǎn)換為四種類(lèi)型
//interface轉(zhuǎn)其他類(lèi)型————返回值是interface,直接賦值是無(wú)法轉(zhuǎn)化的
//interface 轉(zhuǎn)string
var a interface{}
var str5 string
a = "3432423"
str5 = a.(string)
fmt.Println(str5)
//interface 轉(zhuǎn)int
var m interface{}
var m1 int
m = 43
m1 = m.(int)
fmt.Println(m1)
//interface 轉(zhuǎn)float64
var ff interface{}
var ff1 float64
ff = 432.54
ff1 = ff.(float64)
fmt.Println(ff1)
補(bǔ)充:golang interface 轉(zhuǎn) 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
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Golang 實(shí)現(xiàn)interface類(lèi)型轉(zhuǎn)string類(lèi)型
- 解決golang 反射interface{}做零值判斷的一個(gè)重大坑
- golang interface判斷為空nil的實(shí)現(xiàn)代碼
- 詳解Golang語(yǔ)言中的interface
- golang語(yǔ)言如何將interface轉(zhuǎn)為int, string,slice,struct等類(lèi)型
- 淺談Golang 嵌套 interface 的賦值問(wèn)題