Golang Typecasting - PullRequest
       5

Golang Typecasting

0 голосов
/ 28 июня 2018

У меня есть конкретные вопросы для моего проекта

input = "3d6"

Я хочу преобразовать эту строку некоторых частей в целое число. Например, я хочу использовать input [0] как integer. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Здесь есть две проблемы:

Как преобразовать строку в целое число

Самый простой метод - это функция Atoi (от ASCII до целого числа) в пакете strconv, которая будет принимать строку числовых символов и приводить их к целому числу для вас.

Как извлечь значимые компоненты известного строкового шаблона

Чтобы использовать strconv.Atoi, нам нужны числовые символы ввода сами по себе. Есть много способов нарезать и нарезать кубиками строку.

  • Вы можете просто получить первый и последний символы напрямую - input[:1] и input[2:] - билет.

  • Вы можете разбить строку на две строки на символе "d". Посмотрите на метод split, входящий в пакет strings.

  • Для более сложных задач в этом пространстве используются регулярные выражения . Это способ определить шаблон, который может искать компьютер. Например, регулярное выражение ^x(\d+)$ будет соответствовать любой строке, которая начинается с символа x и сопровождается одним или несколькими числовыми символами. Он обеспечит прямой доступ к найденным им цифровым символам.

    • Go имеет первоклассную поддержку регулярных выражений в пакете regexp.
0 голосов
/ 28 июня 2018

Например,

package main

import (
    "fmt"
)

func main() {
    input := "3d6"
    i := int(input[0] - '0')
    fmt.Println(i)
}

Детская площадка: https://play.golang.org/p/061miKcXdIF

Выход:

3
...