У меня есть конкретные вопросы для моего проекта
input = "3d6"
Я хочу преобразовать эту строку некоторых частей в целое число. Например, я хочу использовать input [0] как integer. Как я могу это сделать?
Здесь есть две проблемы:
Самый простой метод - это функция Atoi (от ASCII до целого числа) в пакете strconv, которая будет принимать строку числовых символов и приводить их к целому числу для вас.
Atoi
strconv
Чтобы использовать strconv.Atoi, нам нужны числовые символы ввода сами по себе. Есть много способов нарезать и нарезать кубиками строку.
strconv.Atoi
Вы можете просто получить первый и последний символы напрямую - input[:1] и input[2:] - билет.
input[:1]
input[2:]
Вы можете разбить строку на две строки на символе "d". Посмотрите на метод split, входящий в пакет strings.
split
strings
Для более сложных задач в этом пространстве используются регулярные выражения . Это способ определить шаблон, который может искать компьютер. Например, регулярное выражение ^x(\d+)$ будет соответствовать любой строке, которая начинается с символа x и сопровождается одним или несколькими числовыми символами. Он обеспечит прямой доступ к найденным им цифровым символам.
^x(\d+)$
x
regexp
Например,
package main import ( "fmt" ) func main() { input := "3d6" i := int(input[0] - '0') fmt.Println(i) }
Детская площадка: https://play.golang.org/p/061miKcXdIF
Выход:
3