Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menukar rentetan kepada nombor di Golang
Cara menukar rentetan kepada nombor dalam Golang
Di Golang, kita selalunya perlu menukar rentetan kepada nombor untuk melakukan beberapa operasi pengiraan. Proses menukar rentetan kepada nombor adalah agak mudah dan bergantung terutamanya pada pakej strconv dalam perpustakaan standard Golang. Artikel ini akan memperkenalkan secara terperinci cara menggunakan pakej strconv untuk menukar rentetan kepada nombor dan memberikan beberapa contoh kod khusus.
Untuk menukar rentetan kepada integer, anda boleh menggunakan fungsi Atoi daripada pakej strconv. Penggunaan fungsi Atoi adalah sangat mudah Anda hanya perlu menghantar rentetan yang perlu ditukar sebagai parameter kepada fungsi Atoi.
Berikut ialah contoh kod yang menukar rentetan "123" kepada integer dan mencetaknya:
package main import ( "fmt" "strconv" ) func main() { str := "123" num, err := strconv.Atoi(str) if err != nil { fmt.Println("转换失败:", err) return } fmt.Println("转换后的整数:", num) }
Menjalankan kod di atas akan mengeluarkan:
转换后的整数: 123
Perlu diingat bahawa fungsi Atoi mengembalikan dua nilai: integer yang ditukar nilai dan ralat. Jika penukaran gagal, mesej ralat dikembalikan.
Untuk menukar rentetan kepada nombor titik terapung, anda boleh menggunakan fungsi ParseFloat daripada pakej strconv. Fungsi ParseFloat adalah serupa dengan fungsi Atoi dan juga menukar rentetan kepada nombor. Tetapi tidak seperti fungsi Atoi, fungsi ParseFloat boleh mengendalikan titik perpuluhan dan tanda eksponen.
Berikut ialah contoh kod yang menukar rentetan "3.14" kepada nombor titik terapung dan mencetaknya:
package main import ( "fmt" "strconv" ) func main() { str := "3.14" num, err := strconv.ParseFloat(str, 64) if err != nil { fmt.Println("转换失败:", err) return } fmt.Println("转换后的浮点数:", num) }
Menjalankan kod di atas akan mengeluarkan:
转换后的浮点数: 3.14
Seperti fungsi Atoi, fungsi ParseFloat juga mengembalikan dua nilai: Selepas penukaran nilai mata terapung dan ralat. Jika penukaran gagal, mesej ralat dikembalikan.
Dalam pembangunan sebenar, kami mungkin juga menghadapi jenis keperluan penukaran rentetan lain, seperti menukar rentetan kepada perpuluhan, perduaan atau perenambelasan, dsb. Untuk keperluan ini, pakej strconv menyediakan fungsi yang sepadan untuk melaksanakannya.
Berikut ialah beberapa contoh fungsi penukaran lain yang biasa digunakan:
str := "1010" num, err := strconv.ParseInt(str, 2, 64) if err != nil { fmt.Println("转换失败:", err) return } fmt.Println("转换后的十进制整数:", num)
str := "10" num, err := strconv.Atoi(str) if err != nil { fmt.Println("转换失败:", err) return } binary := strconv.FormatInt(int64(num), 2) fmt.Println("转换后的二进制字符串:", binary)
str := "255" num, err := strconv.Atoi(str) if err != nil { fmt.Println("转换失败:", err) return } hex := strconv.FormatInt(int64(num), 16) fmt.Println("转换后的十六进制字符串:", hex)
Contoh kod di atas menyediakan kaedah untuk menukar rentetan kepada integer, nombor titik terapung dan asas lain Anda boleh memilih fungsi yang sesuai untuk penukaran mengikut keperluan tertentu.
Ringkasan
Artikel ini memperincikan cara menukar rentetan kepada nombor dalam Golang dan memberikan beberapa contoh kod khusus. Sama ada ia menukar integer, nombor titik terapung atau asas lain, pakej strconv Golang menyediakan pelbagai fungsi untuk memenuhi keperluan yang berbeza. Dalam pembangunan sebenar, kita boleh memilih fungsi yang sesuai untuk penukaran mengikut keperluan tertentu. Saya harap artikel ini dapat membantu semua orang memahami proses menukar rentetan kepada nombor.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan kepada nombor di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!