Часто нам необхідно конвертувати число з рядкового
значення у (десяткове або інше) число - і ось як це робити в Go.
|
|
|
package main
|
Конвертація з рядків в числа можлива завдяки пакету
strconv .
|
import (
"fmt"
"strconv"
)
|
|
func main() {
|
64 (що ви бачите у функції ParseFloat ) вказує на те,
до скількох бітів точності ми будемо конвертувати
це число, тобто фінальне число буде типу float64
|
f, _ := strconv.ParseFloat("1.234", 64)
fmt.Println(f)
|
0 в ParseInt говорить нам, що тип визначатиметься
базуючись на форматі рядку, а 64 це вимога до
результату поміститись у відведені 64 біти.
|
i, _ := strconv.ParseInt("123", 0, 64)
fmt.Println(i)
|
ParseInt може розпізнати не тільки числа десятинної системи,
ось приклад шістнадцяткового числа.
|
d, _ := strconv.ParseInt("0x1c8", 0, 64)
fmt.Println(d)
|
Як бачимо - ParseUint також доступний.
|
u, _ := strconv.ParseUint("789", 0, 64)
fmt.Println(u)
|
Atoi зручно використовувати для конвертації
чисел за основою 10 у цілі.
|
k, _ := strconv.Atoi("135")
fmt.Println(k)
|
Якщо на вхід подано “погані дані” - існує
можливість перехопити помилку.
|
_, e := strconv.Atoi("wat")
fmt.Println(e)
}
|