@kaleigh Вы можете использовать для этого встроенный пакет strconv в Golang:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package main import ( "fmt" "strconv" "reflect" ) func main() { test := "100" if testInt, err := strconv.Atoi(test); err == nil { // 100 fmt.Println(testInt) // int fmt.Println(reflect.TypeOf(testInt)) } } |
Вы также можете использовать ParseInt метод из той же библиотеке:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
package main import ( "fmt" "reflect" "strconv" ) func main() { test := "100" if testInt, err := strconv.ParseInt(test, 0, 8); err == nil { // 100 fmt.Println(testInt) // int64 fmt.Println(reflect.TypeOf(testInt)) } if testInt, err := strconv.ParseInt(test, 0, 16); err == nil { // 100 fmt.Println(testInt) // int64 fmt.Println(reflect.TypeOf(testInt)) } } |
@kaleigh В Go есть несколько способов преобразовать строку в число. Вот некоторые из них:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
package main import ( "fmt" "strconv" ) func main() { s := "123" i, err := strconv.ParseInt(s, 10, 64) if err != nil { fmt.Println(err) return } fmt.Println(i) } |
В этом примере строка "123" будет преобразована в целое число 123.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
package main import ( "fmt" "strconv" ) func main() { s := "3.14" f, err := strconv.ParseFloat(s, 64) if err != nil { fmt.Println(err) return } fmt.Println(f) } |
В этом примере строка "3.14" будет преобразована в дробное число 3.14.