Golang类型转换

时间:2018-06-27 23:45:07

标签: go casting type-conversion dice

我对我的项目有特定的疑问

input =“ 3d6”

我想将此字符串的某些部分转换为整数。例如,我想使用input [0]之类的整数。 我该怎么办?

2 个答案:

答案 0 :(得分:1)

这里有两个问题:

如何将字符串转换为整数

最直接的方法是strconv包中的Atoi(ASCII到整数)函数,它将使用一串数字字符并将它们强制转换为整数。

如何提取已知字符串模式的有意义成分

为了使用strconv.Atoi,我们需要自己输入数字字符。有很多方法可以对字符串进行切片和切块。

  • 您可以直接抓取第一个和最后一个字符-input[:1]input[2:]是工单。

  • 您可以将字符串拆分为字符“ d”上的两个字符串。查看strings程序包的成员split方法。

  • 对于此空间中更复杂的问题,使用 regular expressions 。它们是定义计算机可以寻找的模式的一种方式。例如,正则表达式^x(\d+)$将匹配以字符x开头且后接一个或多个数字字符的任何字符串。它将提供对自己找到的数字字符的直接访问。

    • Go通过其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