Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pakej strconv, pakej alat penukaran jenis dalam bahasa Go

Pakej strconv, pakej alat penukaran jenis dalam bahasa Go

Go语言进阶学习
Go语言进阶学习ke hadapan
2023-07-21 16:06:19837semak imbas
Kali ini kita akan mempelajari kit alat penukaran jenisstrconv dalam bahasa Go.

Saya tidak tahu sama ada anda telah memikirkannya.

In Go, Cara menukar rentetan 100 kepada nombor 100.

Macam ni?

func main() {
    var score = "100"
    i := int(score)
    fmt.Printf(i)
}

Tidak, Tidak, Tidak, lihat keputusan pelaksanaan.

Pakej strconv, pakej alat penukaran jenis dalam bahasa Go

Ralat dilaporkan, menunjukkan bahawa penukaran tidak begitu mudah dan kasar! ! !


rentetan ke int (menggunakan Atoi)

kod

func main() {
    //string 100
    var scoreStr = "100"
    fmt.Printf("%v,%T\n", scoreStr, scoreStr) //100,string
    score, err := strconv.Atoi(scoreStr)
    //转换失败
    if err != nil {
        panic(err)
}
    fmt.Printf("%v,%T\n", score, score)
}

hasilnya
Anda boleh mendapati bahawa selepas penukaran berjaya, ia menjadi

Pakej strconv, pakej alat penukaran jenis dalam bahasa Go

jenis. int

int转string(用Itoa)

代码

func main() {
    //int 100
    var scoreInt = 100
    fmt.Printf("%v,%T\n", scoreInt, scoreInt) //100,string
    score  := strconv.Itoa(scoreInt)
    fmt.Printf("%v,%T\n", score, score)
}

执行结果

Pakej strconv, pakej alat penukaran jenis dalam bahasa Go

注:在Go中,只能通过上述两种方式进行string -> intint -> string


strconv.Parse转换

strconvstrconvParse相关方法,也是讲string类型转换为其他类型,但是相比之下。

strconvParse的多样性会多一点。

strconv.ParseBool()

这个方法,是将字符串的Bool类型,转成真正的BoolParse

🎜相关方法,也是讲string类型转换为其他类型,但是相比也是相比也是讲string类型转换为其他类型,但是相比之="paragraf "gaya ="box-sizing: border-box;line-height: inherit;anak yatim: 4;margin-top: 0.8em;margin-bottom: 0.8em;white-space: pre-wrap;font-family: "Open Sans" , "Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;font-size: 16px;text-align: start;">🎜strconv🎜🎜的🎜🎜Parse🎜🎜的多样性会多一点。🎜

🎜strconv.ParseBool()🎜

🎜这个方法,是将字符串的🎜🎜Bool🎜🎜类型,转成真正的🎜🎜Bool🎜🎜类型。🎜🎜

示例代码

func main() {
    var tString = "true"//可以是 1,0,t,f,T,F,true,false,True,False,TRUE,FALSE
    fmt.Printf("%T,%v\n", tString, tString)
    tBool, err := strconv.ParseBool(tString)
    if err != nil {
        panic(err)
}
    fmt.Printf("%T,%v\n", tBool, tBool)
}

执行结果

Pakej strconv, pakej alat penukaran jenis dalam bahasa Go

成功将字符串true转成Bool true

strconv.ParseInt()

这个,就很简单了,跟strconv.Atoi()基本一样。

示例代码

func main() {
   var tString = "666"
   fmt.Printf("%T,%v\n", tString, tString)
   tInt, err := strconv.ParseInt(tString,10,64)
   if err != nil {
      panic(err)
   }
   fmt.Printf("%T,%v\n", tInt, tInt)
}

执行结果

Pakej strconv, pakej alat penukaran jenis dalam bahasa Go

第二个参数10和第三个参数64的意思

Mungkin anda seperti saya dan tidak faham maksud parameter kedua 10 dan parameter ketiga 64 pada mulanya.

Tetapi anda mungkin faham gambar di bawah. . ! !

Pakej strconv, pakej alat penukaran jenis dalam bahasa Go

strconv.parseUint()

Sama seperti di atas, tetapi ini hanya boleh menukar intnombor positif

, bukan

, bukan

strconv.ParseFloat()Ini, seperti yang anda boleh lihat dari namanya, adalah untuk menukar nombor rentetan titik terapung

kepada nombor terapung .

示例代码

func main() {
    var tString = "3.1415"
    fmt.Printf("%T,%v\n", tString, tString)
    tFloat, err := strconv.ParseFloat(tString,64)
    if err != nil {
        panic(err)
}
    fmt.Printf("%T,%v\n", tFloat, tFloat)
}

第二个参数64,同上,也是因为返回的就是float64,所以容量也得是64

执行结果

Pakej strconv, pakej alat penukaran jenis dalam bahasa Go


strconv.Format转换

这个和strconv.Parse是相反的,是将int/float/bool等 -> string的一个过程。

但是我总感觉有点脱裤子放屁的感觉,既然官方提供了,就随便看看叭!!!

这里我就使用简述的代码来写的。

func main() {
    a := strconv.FormatBool(true)
    //E表示十进制,
    b := strconv.FormatFloat(3.1415, 'E', -1, 64)
    c := strconv.FormatInt(666, 10)
    fmt.Printf("%v,%T\n",a,a)
    fmt.Printf("%v,%T\n",b,b)
    fmt.Printf("%v,%T\n",c,c)
}

执行结果

Pakej strconv, pakej alat penukaran jenis dalam bahasa Go


总结

其实这次我们的重点主要是前俩,string - > int(用Atoi)int -> string(用Itoa)

其他的主要分为strconv.Parse系列和strconv.Format系列。

Secara relatifnyaParse系列可能会用的更多一点,Format siri boleh digunakan lebih banyak, Format

Tidak banyak kegunaan yang berkaitan, faham sahaja! 🎜🎜🎜

Atas ialah kandungan terperinci Pakej strconv, pakej alat penukaran jenis dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Go语言进阶学习. Jika ada pelanggaran, sila hubungi admin@php.cn Padam