Jeden typ danych podany natywnie przez język programowania Go to ciąg. Ciąg pozwala przechowywać sekwencję znaków, w tym postacie alfanumeryczne.
W niektórych przypadkach możesz mieć wartość numeryczną zapisaną w formacie ciągów. Aby wykonać dowolne operacje dotyczące typu INT, musisz przekonwertować go na int.
Ten samouczek pomoże ci odkryć różne metody i techniki przekształcania łańcucha na int w Go.
Golang Utwórz ciąg
W Go Używamy podwójnych cudzysłów, aby przedstawić ciąg. Przykładowy program pokazano poniżej:
Pakiet Main
importować „FMT”
func main ()
var wartość = „1000”
fmt.Println (wartość)
Mamy zmienną ciągnącą o wartości „numerycznej” w programie przykładowym. Należy pamiętać, że wartość może wydawać się dla nas numeryczna, ale wartość jest ciągiem kompilatora.
Stąd, jeśli podjęto próbę operacji matematycznej w wartości, kompilator zwróci błąd.
Pakiet Main
importować „FMT”
func main ()
var wartość = „1000”
fmt.Println (wartość * 3)
Wyjście kompilatora będzie:
$ idź uruchom string_to_int.Iść
# argumenty linii poleceń
.\ string_to_int.GO: 7: 14: Nieprawidłowa operacja: Wartość * 3 (Niezgodne typy ciąg i niezadowolony int)
Golang Parse String do int #1
Go zapewnia funkcję ATOI () z pakietu STRCONV, aby przeanalizować ciąg do typu int.
https: // pkg.Iść.dev/strconv#ATOI
Na przykład, aby przekonwertować zmienną „wartość” z poprzedniego programu na INT:
Pakiet Main
import (
„FMT”
„strconv”
)
func main ()
wartość: = "1000"
Jeśli n, err: = strconv.ATOI (wartość); err == zero
fmt.Println (n * 3)
Z powyższego programu zaczynamy od zaimportowania pakietu STRCONV. Daje nam to dostęp do funkcji ATOI (). Następnie używamy funkcji ATOI (), aby przeanalizować ciąg do INT i wykonujemy operację matematyczną.
Możemy sprawdzić rodzaj wartości jako:
Pakiet Main
import (
„FMT”
„strconv”
)
func main ()
wartość: = "1000"
Jeśli n, err: = strconv.ATOI (wartość); err == zero
fmt.Printf („%t \ n”, n)
fmt.Println (n * 3)
Program powoduje wyjście jako:
$ idź uruchom string_to_int.Iść
int
3000
Chociaż używamy funkcji atoi () do konwersji ciągu na int, musimy upewnić się, że wartość można przekonwertować na int.
Jeśli spróbujemy przekonwertować ciąg, taki jak nazwa na INT, funkcja podniesie błąd.
Weźmy na przykład poniższy program:
Pakiet Main
import (
„FMT”
"dziennik"
„strconv”
)
func main ()
wartość: = "Linuxhint"
n, err: = strconv.ATOI (wartość)
dziennik.Fatalny (err)
fmt.Println (n)
W powyższym kodzie próbujemy przekonwertować ciąg „Linuxhint” na ciąg, który jest formatem nieobsługiwanym.
Powyższy kod powinien podnieść błąd jako:
$ idź uruchom string_to_int.Iść
2022/05/31 02:15:22 Strconv.ATOI: Parsowanie „Linuxhint”: Nieprawidłowa składnia
Status wyjścia 1
Golang Parse String do int #2
W pakiecie STCCONV mamy dostęp do funkcji Parseint, która pozwala nam przeanalizować ciąg do danej bazy (0, 2 do 36).
https: // pkg.Iść.dev/strconv#parseint
Weźmy przykład, jak pokazano poniżej:
Pakiet Main
import (
„FMT”
„strconv”
)
func main ()
wartość: = "1000"
Jeśli n, err: = strconv.Parseint (wartość, 10, 64); err == zero
fmt.Printf („ %t: %v \ n”, n, n)
Zwróć uwagę na funkcję parseint (). Mamy w nim trzy główne argumenty: pierwsza to wartość, którą chcemy przeanalizować do INT, a druga reprezentuje podstawę. Podstawa ma wartość od 0 lub 2 do 36.
Ostatecznym argumentem jest rozmiar bitu, który określa typ liczby całkowitej, wynikowy wartość pasuje. Zaakceptowane wartości obejmują 0, 8, 16, 32 i 64, zgodne z int, int8, int16, int32 i int64.
Końcowe przemyślenia
Nauczyłeś się, jak przekonwertować ciąg na typ int w tym samouczku.