Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmTxTI 315 of 350 menu
◀ ▶

Строка в целое в Go

Текст из цифр переводят в int функцией strconv.Atoi. Она возвращает число и ошибку. Успех означает, что ошибка равна nil; иначе в err лежит причина сбоя. После перевода плюс складывает числа, а не склеивает текст:

package main import ( "fmt" "strconv" ) func main() { str := "12" num, err := strconv.Atoi(str) if err != nil { fmt.Println("fail") return } fmt.Println(num + 3) }

Минус в тексте допустим:

package main import ( "fmt" "strconv" ) func main() { str := "-4" num, err := strconv.Atoi(str) if err != nil { fmt.Println("fail") return } fmt.Println(num) }

Если цифр в тексте нет, разбор не удается и err не равен nil:

package main import ( "fmt" "strconv" ) func main() { str := "abc" _, err := strconv.Atoi(str) if err != nil { fmt.Println("fail") } }

Весь текст должен быть числом: буква в конце или точка для целого делают разбор неудачным. Из "12a" и "1.5" число так не получить:

package main import ( "fmt" "strconv" ) func main() { str1 := "12a" _, err1 := strconv.Atoi(str1) if err1 != nil { fmt.Println("fail") } str2 := "1.5" _, err2 := strconv.Atoi(str2) if err2 != nil { fmt.Println("fail") } }

Число, которое не влезает в int, тоже дает ошибку:

package main import ( "fmt" "strconv" ) func main() { str := "3000000000" _, err := strconv.Atoi(str) if err != nil { fmt.Println("fail") } }

Дан код:

str1 := "8" str2 := "5"

Найдите сумму чисел из этих строк и выведите ее.

Дан код:

str1 := "14" str2 := "6"

Найдите сумму чисел из этих строк и выведите ее.

Дан код:

str1 := "20" str2 := "7"

Найдите разность чисел из этих строк: вычтите второе из первого и выведите ее.

Дан код:

str := "-9"

Найдите число из этой строки и выведите его.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить