Golang ialah bahasa pengaturcaraan yang telah menarik perhatian ramai sejak beberapa tahun kebelakangan ini. Ia menggunakan sintaks ringkas dan kelajuan penyusunan pantas, dan sesuai untuk pengaturcaraan serentak dan pengaturcaraan rangkaian. Di Golang, kita selalunya perlu melakukan penukaran jenis data, yang paling biasa ialah penukaran integer (int). Artikel ini akan menerangkan secara terperinci penukaran jenis int di Golang.
- Jenis integer dalam Golang
Di Golang, terdapat empat jenis integer:
- int8: jenis Integer 8-bit yang ditandatangani, nilai julat -128~127
- int16: jenis integer 16-bit yang ditandatangani, julat nilai-32768~32767
- int32: jenis integer 32-bit yang ditandatangani, julat nilai -2147483648~614748~614748~614748~614748
int64: integer 64-bit yang ditandatangani, julat nilai -9223372036854775808~9223372036854775807-
Selain itu, Golang juga menyediakan integer yang tidak ditandatangani yang sepadan ialah jenis uint, ditambah dengan nombor yang tidak ditandatangani. seperti uint8, uint16, uint32 dan uint64.
Penukaran jenis int kepada jenis data lain-
Penukaran jenis dalam Golang secara seragam menggunakan fungsi toType(), di mana fungsi toType() ialah jenis pembolehubah yang memerlukan untuk ditukar kepada. Apabila menukar, anda perlu memastikan bahawa jenis sasaran boleh menampung sepenuhnya julat nilai jenis sumber.
Di bawah ini kami mengambil penukaran jenis int kepada jenis float32 dan float64 sebagai contoh:
2.1 Penukaran int kepada float32
Oleh kerana julat nilai float32 lebih besar daripada int, jadi Jenis int boleh ditukar terus kepada float32. Ini boleh dicapai menggunakan kod berikut:
func intToFloat32(i int) float32 {
return float32(i)
}
2.2 Tukar int kepada float64
Dengan cara yang sama, jenis int juga boleh terus ditukar kepada float64. Anda boleh menggunakan kod berikut untuk mencapai ini:
func intToFloat64(i int) float64 {
return float64(i)
}
Tukar jenis data lain kepada jenis int-
Di Golang, anda juga boleh menggunakan toType() untuk menukar yang lain jenis data kepada fungsi jenis int, tetapi sedar bahawa jika julat nilai jenis sumber lebih besar daripada julat nilai jenis sasaran, ketepatan mungkin hilang semasa proses penukaran.
Di bawah ini kami mengambil penukaran jenis float32 dan float64 kepada jenis int sebagai contoh:
3.1 Tukar float32 kepada int
Oleh kerana ketepatan mungkin hilang semasa penukaran float32 kepada int , jadi lebih baik membuat pertimbangan sebelum penukaran Anda boleh menggunakan kod berikut untuk mencapainya:
func float32ToInt(f float32) int {
if f > math.MaxInt32 {
return math.MaxInt32
}
if f < math.MinInt32 {
return math.MinInt32
}
return int(f)
}
3.2 Tukar float64 kepada int
Untuk sebab yang sama, penukaran. jenis float64 kepada jenis int juga memerlukan pertimbangan ketepatan , boleh dicapai menggunakan kod berikut:
func float64ToInt(f float64) int {
if f > math.MaxInt32 {
return math.MaxInt32
}
if f < math.MinInt32 {
return math.MinInt32
}
return int(f)
}
Ringkasan-
Di Golang, penukaran jenis integer adalah sangat biasa, tetapi perlu diingatkan bahawa sasaran perlu dijamin semasa penukaran Jenis boleh menampung sepenuhnya julat nilai jenis sumber, jika tidak masalah seperti kehilangan ketepatan mungkin berlaku. Jika perlu, anda juga boleh menyesuaikan fungsi untuk pelaksanaan penukaran.
Atas ialah kandungan terperinci penukaran int golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!