golang int cast

WBOY
Lepaskan: 2023-05-13 10:10:37
asal
868 orang telah melayarinya

Di Golang, jenis int ialah jenis lalai jenis integer, tetapi dalam atur cara, anda mungkin menghadapi situasi di mana int perlu dipaksa untuk ditukar, seperti menukar int kepada jenis integer lain, menukar jenis apungan kepada jenis int , dsb. tunggu. Artikel ini akan meneroka kaedah paksaan jenis int di Golang.

  1. Tukar int kepada jenis integer lain

Di Golang, jenis int menjadi lalai kepada 32-bit (4 bait) atau 64-bit (8 bait), dan Nilai julat dari $-2^{31}$ hingga $2^{31}-1$ dan $-2^{63}$ hingga $2^{63}-1$ masing-masing, bergantung pada seni bina mesin yang sedang dijalankan pada. Jika anda perlu menukar jenis int kepada jenis integer lain (seperti int8, int16, int3, int64, uint8, uint16, uint32, uint64), anda perlu melaksanakannya melalui penukaran jenis.

Kaedah khusus adalah seperti berikut:

var a int = 100
var b int8 = int8(a)   // 将 int 类型转换为 int8 类型
var c int16 = int16(a) // 将 int 类型转换为 int16 类型
var d int32 = int32(a) // 将 int 类型转换为 int32 类型
var e int64 = int64(a) // 将 int 类型转换为 int64 类型
var f uint8 = uint8(a) // 将 int 类型转换为 uint8 类型
var g uint16 = uint16(a) // 将 int 类型转换为 uint16 类型
var h uint32 = uint32(a) // 将 int 类型转换为 uint32 类型
var i uint64 = uint64(a) // 将 int 类型转换为 uint64 类型
Salin selepas log masuk

Perlu diambil perhatian bahawa penukaran jenis yang berbeza akan menyebabkan kehilangan ketepatan atau masalah limpahan, dan jenis data yang sesuai perlu dipilih mengikut senario tertentu .

  1. Tukar jenis apungan kepada jenis int

Di Golang, jenis apungan digunakan untuk menyimpan nombor titik terapung dan jenis lalainya ialah float64. Jika anda perlu menukar jenis apungan kepada jenis int, anda perlu menggunakan kaedah Round(), Floor() atau Ceil() di bawah pakej matematik yang disediakan oleh Golang Kaedah ini boleh membulatkan, membulatkan ke bawah atau membulatkan apungan taip.

Kaedah khusus adalah seperti berikut:

import "math"

var a float64 = 123.56

var b int = int(math.Round(a)) // 四舍五入
var c int = int(math.Floor(a)) // 向下取整
var d int = int(math.Ceil(a))  // 向上取整
Salin selepas log masuk

Perlu diambil perhatian bahawa apabila menukar nombor titik terapung kepada jenis integer, kehilangan ketepatan atau masalah limpahan mungkin berlaku. Oleh itu, pilihan jenis data perlu dipertimbangkan dengan teliti sebelum penukaran, serta pengecualian yang mungkin berlaku semasa proses penukaran.

  1. Tukar jenis int kepada jenis rentetan

Dalam Golang, untuk menukar jenis int kepada jenis rentetan anda perlu menggunakan kaedah Itoa() yang disediakan dalam pakej strconv. Kaedah ini boleh menukar jenis integer kepada jenis rentetan yang sepadan.

Kaedah khusus adalah seperti berikut:

import "strconv"

var a int = 123

var b string = strconv.Itoa(a) // 将 int 类型的 a 转换为字符串类型
Salin selepas log masuk

Perlu diambil perhatian bahawa kaedah Itoa() hanya boleh menukar jenis int kepada jenis rentetan dan hanya boleh menyokong format integer standard. Jika anda perlu menukar integer dalam format lain kepada jenis rentetan, anda perlu menggunakan kaedah output berformat yang disediakan oleh Golang.

Di atas ialah kaedah penukaran paksa jenis int di Golang Ia adalah perlu untuk memilih jenis data yang sesuai mengikut situasi tertentu, dan berhati-hati menangani situasi tidak normal yang mungkin berlaku semasa proses penukaran untuk memastikan. ketepatan operasi program.

Atas ialah kandungan terperinci golang int cast. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!