// go中的 map是集合
var symbolValues = map[byte]int{'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
func romanToInt(s string) (ans int) {
n := len(s)
// for range的方式来遍历 go的字符串
for i := range s {
// go中获取 map的 value值,类似 php的方式
value := symbolValues[s[i]]
if i < n-1 && value < symbolValues[s[i+1]] {
ans -= value
} else {
ans += value
}
}
// golang中的返回值为空时,会把 函数声明时的值作为返回值,否则使用定义的返回值 见 https://blog.csdn.net/panguangyuu/article/details/89811819
return
}
Golang实现罗马字符转数字 2022.03.10
最新推荐文章于 2024-06-10 17:28:08 发布