Perwakilan Abjad Nombor dalam Golang
Pengenalan:
Menukar nombor kepada nombornya perwakilan abjad yang sepadan boleh menjadi tugas yang berguna dalam pelbagai senario. Artikel ini meneroka pelbagai cara untuk melaksanakan penukaran ini dengan cekap dalam bahasa pengaturcaraan Go.
Nombor kepada Rune (Watak):
Pendekatan paling mudah ialah menambah nombor pada nilai ASCII 'A' tolak 1. Ini akan memberi anda rune yang sepadan dengan aksara abjad. Contohnya, menambah 1 kepada 'A' - 1 menghasilkan 'A', menambah 2 menghasilkan 'B' dan seterusnya.
Kod Contoh:
<code class="go">import "fmt" func toChar(i int) rune { return rune('A' - 1 + i) } func main() { fmt.Printf("%d %q\n", 1, toChar(1)) fmt.Printf("%d %q\n", 2, toChar(2)) fmt.Printf("%d %q\n", 23, toChar(23)) }</code>
Nombor kepada Rentetan:
Jika perwakilan rentetan diperlukan, hanya tukar rune yang dikembalikan oleh kaedah sebelumnya kepada rentetan.
Kod Contoh:
<code class="go">import "fmt" func toCharStr(i int) string { return string('A' - 1 + i) } func main() { fmt.Printf("%d %q\n", 1, toCharStr(1)) fmt.Printf("%d %q\n", 2, toCharStr(2)) fmt.Printf("%d %q\n", 23, toCharStr(23)) }</code>
Nombor kepada Rentetan (Cache):
Jika penukaran perlu dilakukan dengan kerap, ia boleh menjadi lebih cekap untuk cache rentetan. Ini boleh dilakukan dengan menyimpan tatasusunan semua aksara abjad.
Kod Contoh:
<code class="go">import "fmt" var arr = [...]string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"} func toCharStrArr(i int) string { return arr[i-1] } func main() { fmt.Printf("%d %q\n", 1, toCharStrArr(1)) fmt.Printf("%d %q\n", 2, toCharStrArr(2)) fmt.Printf("%d %q\n", 23, toCharStrArr(23)) }</code>
Nombor ke Rentetan (Pemalar Rentetan Menghiris):
Satu lagi penyelesaian menarik melibatkan penghirisan rentetan berterusan untuk mendapatkan aksara yang diingini.
Kod Contoh:
<code class="go">import "fmt" const abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" func toCharStrConst(i int) string { return abc[i-1 : i] } func main() { fmt.Printf("%d %q\n", 1, toCharStrConst(1)) fmt.Printf("%d %q\n", 2, toCharStrConst(2)) fmt.Printf("%d %q\n", 23, toCharStrConst(23)) }</code>
Atas ialah kandungan terperinci Bagaimanakah anda mewakili nombor sebagai huruf di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!