Tukar int32 kepada rentetan dalam Golang
Penukaran int32 kepada rentetan dalam Golang boleh dilakukan dengan mudah dengan penyelesaian ringkas: fmt.Sprint(i) . Walau bagaimanapun, jika kaedah langsung ini tidak mencukupi, terdapat beberapa pilihan penukaran yang tersedia:
Tanda aras prestasi menunjukkan bahawa fungsi penukaran tersuai (String) adalah yang paling cekap, diikuti dengan strconv.FormatInt, strconv.Itoa dan fmt.Sprint.
Berikut ialah coretan kod yang menunjukkan perbandingan:
<code class="go">package main import ( "fmt" "strconv" "time" ) func main() { var s string i := int32(-2147483648) t := time.Now() for j := 0; j < 50000000; j++ { s = String(i) //s = String2(i) // Other conversion functions can be used here } fmt.Println(time.Since(t)) fmt.Println(s) } func String(n int32) string { // Custom conversion function buf := [11]byte{} pos := len(buf) i := int64(n) signed := i < 0 if signed { i = -i } for { pos-- buf[pos], i = '0'+byte(i%10), i/10 if i == 0 { if signed { pos-- buf[pos] = '-' } return string(buf[pos:]) } } }</code>
Akhirnya, pilihan terbaik bergantung pada keperluan khusus dan kekangan prestasi aplikasi anda.
Atas ialah kandungan terperinci Bagaimana cara untuk menukar int32 kepada rentetan dengan cekap di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!