Én datatype levert innfødt av Go -programmeringsspråket er en streng. En streng lar deg lagre en sekvens av tegn, inkludert alfanumeriske tegn.
I noen tilfeller kan du ha en numerisk verdi som er lagret i et strengformat. For å utføre operasjoner som involverer en INT -type, må du konvertere den til en int.
Denne opplæringen vil hjelpe deg med å oppdage forskjellige metoder og teknikker for å konvertere en streng til en int i go.
Golang lage streng
I GO bruker vi doble anførselstegn for å representere en streng. Et eksempelprogram vises nedenfor:
pakkehoved
Importer “FMT”
func main ()
var verdi = “1000”
fmt.Println (verdi)
Vi har en strengvariabel som holder en 'numerisk' verdi i eksempelprogrammet. Husk at verdien kan virke numerisk for oss, men verdien er en streng for kompilatoren.
Derfor, hvis en matematisk operasjon på verdien blir forsøkt, vil kompilatoren returnere en feil.
Pakkehoved
Importer “FMT”
func main ()
var verdi = “1000”
fmt.Println (verdi * 3)
Kompilatorens utgang vil være:
$ go run string_to_int.gå
# Kommandolinje-argumenter
.\ String_to_int.GO: 7: 14: Ugyldig drift: Verdi * 3 (Uoverensstemmede typer streng og untyped int)
Golang analyser streng til int #1
GO gir atoi () -funksjonen fra StrConv -pakken for å analysere en streng til en INT -type.
https: // pkg.gå.dev/strconv#atoi
For eksempel for å konvertere variabelen 'verdi' fra forrige program til en int:
pakkehoved
import (
"FMT"
"STRCONV"
)
func main ()
Verdi: = "1000"
Hvis n, feil: = strconv.Atoi (verdi); err == nil
fmt.Println (n * 3)
Fra programmet over starter vi med å importere STRCONV -pakken. Dette gir oss tilgang til atoi () -funksjonen. Vi bruker deretter atoi () -funksjonen for å analysere strengen til en int og utføre en matematisk operasjon.
Vi kan sjekke typen av verdien som:
pakkehoved
import (
"FMT"
"STRCONV"
)
func main ()
Verdi: = "1000"
Hvis n, feil: = strconv.Atoi (verdi); err == nil
fmt.Printf ("%t \ n", n)
fmt.Println (n * 3)
Programmet resulterer i output som:
$ go run string_to_int.gå
int
3000
Selv om vi bruker atoi () -funksjonen for å konvertere en streng til en int, må vi sørge for at verdien kan konverteres til en int.
Hvis vi prøver å konvertere en streng som et navn til en int, vil funksjonen øke en feil.
Ta for eksempel programmet nedenfor:
pakkehoved
import (
"FMT"
"Logg"
"STRCONV"
)
func main ()
Verdi: = "Linuxhint"
n, feil: = strconv.Atoi (verdi)
Logg.Fatal (feil)
fmt.Println (n)
I koden over prøver vi å konvertere strengen “Linuxhint” til en streng som er et ikke -støttet format.
Koden over skal øke en feil som:
$ go run string_to_int.gå
2022/05/31 02:15:22 STRCONV.Atoi: Parsing "Linuxhint": Ugyldig syntaks
Avslutt status 1
Golang analyser streng til int #2
I STRCONV -pakken har vi tilgang til Parseint -funksjonen som lar oss analysere en streng til en gitt base (0, 2 til 36).
https: // pkg.gå.dev/strconv#parseint
La oss ta et eksempel som vist nedenfor:
pakkehoved
import (
"FMT"
"STRCONV"
)
func main ()
Verdi: = "1000"
Hvis n, feil: = strconv.Parseint (verdi, 10, 64); err == nil
fmt.Printf (" %t: %v \ n", n, n)
Vær oppmerksom på parseint () -funksjonen. Vi passerer tre hovedargumenter i det: den første er verdien vi ønsker å analysere til en int, og den andre representerer basen. Basen er en verdi fra 0, eller 2 til 36.
Det endelige argumentet er bitstørrelsen som spesifiserer heltallstypen den resulterende verdien passer. Aksepterte verdier inkluderer 0, 8, 16, 32 og 64, i samsvar med INT, INT8, INT16, INT32 og INT64.
Siste tanker
Du lærte hvordan du konverterer en streng til en int -type i Gå gjennom denne opplæringen.