我对我的项目有特定的疑问
input =“ 3d6”
我想将此字符串的某些部分转换为整数。例如,我想使用input [0]之类的整数。 我该怎么办?
答案 0 :(得分:1)
这里有两个问题:
最直接的方法是strconv
包中的Atoi
(ASCII到整数)函数,它将使用一串数字字符并将它们强制转换为整数。
为了使用strconv.Atoi
,我们需要自己输入数字字符。有很多方法可以对字符串进行切片和切块。
您可以直接抓取第一个和最后一个字符-input[:1]
和input[2:]
是工单。
您可以将字符串拆分为字符“ d”上的两个字符串。查看strings
程序包的成员split
方法。
对于此空间中更复杂的问题,使用 regular expressions 。它们是定义计算机可以寻找的模式的一种方式。例如,正则表达式^x(\d+)$
将匹配以字符x
开头且后接一个或多个数字字符的任何字符串。它将提供对自己找到的数字字符的直接访问。
regexp
包对正则表达式提供了一流的支持。答案 1 :(得分:0)
例如,
package main
import (
"fmt"
)
func main() {
input := "3d6"
i := int(input[0] - '0')
fmt.Println(i)
}
游乐场:https://play.golang.org/p/061miKcXdIF
输出:
3