Golang数字的字母表示形式

Golang数字的字母表示形式,第1张

Golang数字的字母表示形式

为简单起见,以下解决方案中省略了范围检查。
它们都可以在Go Playground上尝试。

号码->
rune

只需将数字

'A' - 1
添加
1
到const即可,然后将其添加到const中
'A'
,然后添加
2
get
'B'
等。

func toChar(i int) rune {    return rune('A' - 1 + i)}

测试它:

for _, i := range []int{1, 2, 23, 26} {    fmt.Printf("%d %qn", i, toChar(i))}

输出:

1 'A'2 'B'23 'W'26 'Z'
号码->
string

或者,如果您希望将其作为

string

func toCharStr(i int) string {    return string('A' - 1 + i)}

输出:

1 "A"2 "B"23 "W"26 "Z"

string
在规范中记录了最后一个(将数字转换为):在字符串类型之间来回转换:

将有符号或无符号整数值转换为字符串类型会产生一个包含该整数的UTF-8表示形式的字符串。

编号->
string
(已缓存)

如果您需要多次执行此 *** 作

strings
,例如将其存储在一个数组中,然后
string
从中返回即可,这是有利可图的:

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]}

注意:切片(而不是数组)也可以。

注2:你可以,如果你添加一个虚拟的第一个字符,所以你不必减去改善这个

1
来自
i

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] }
数字->
string
(切片
string
常量)

另一个有趣的解决方案:

const abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"func toCharStrConst(i int) string {    return abc[i-1 : i]}

切片a

string
是有效的:新方法
string
将共享后备数组(可以完成,因为
string
s是不可变的)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5586144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存