Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar Int32 kepada String dalam Go: Kaedah Mana Yang Terpantas?
Menukar Int32 kepada String in Go: Beyond Int dan Int64
In Go, menukar int32 kepada rentetan boleh dilakukan tanpa perlu untuk penukaran perantaraan kepada int atau int64. Berikut ialah beberapa pendekatan untuk mencapai matlamat ini:
1. Menggunakan fmt.Sprint(i)
s := fmt.Sprint(i)
Kaedah ini menyediakan penyelesaian satu baris yang mudah.
2. Mencipta Fungsi Penukaran Tersuai
Untuk prestasi optimum, fungsi penukaran tersuai boleh dibuat:
func String(n int32) string { // Implementation details return string(buf[pos:]) }
3. Menggunakan strconv.Itoa(int(i))
s := strconv.Itoa(int(i))
Walaupun pendekatan ini melibatkan penukaran kepada int dahulu, ia menawarkan penyelesaian yang agak pantas.
4. Menggunakan strconv.FormatInt(int64(i), 10)
s := strconv.FormatInt(int64(i), 10)
Kaedah ini berprestasi lebih pantas daripada strconv.Itoa, kerana ia secara langsung menukar int32 kepada rentetan.
Perbandingan Prestasi
Untuk membandingkan kecekapan kaedah ini, penanda aras telah dijalankan dengan 50 juta lelaran:
Method | Time Taken |
---|---|
String | 5.5923198s |
String2 | 5.5923199s |
strconv.FormatInt(int64(i), 10) | 5.9133382s |
strconv.Itoa(int(i)) | 5.9763418s |
fmt.Sprint(i) | 13.5697761s |
Seperti yang terbukti daripada keputusan, fungsi penukaran tersuai String menyediakan masa pelaksanaan terpantas.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Int32 kepada String dalam Go: Kaedah Mana Yang Terpantas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!