Påkrevd import
For å lese innspill fra konsollen, må vi importere noen få pakker. Den første er Bufio -pakken, FMT -pakken og OS -pakken.
Bufio -pakken lar deg lese karakterer fra stdin på en gang. FMT-pakken brukes til å håndtere I/O-operasjoner, og OS gir systemfunksjonaliteter på lavt nivå.
Følgende utdrag importerer alle nødvendige pakker:
import (Golang leste karakter
La oss se hvordan du kan lese en enkelt Unicode -karakter fra STDIN på GO -språket. Tenk på følgende kode som er oppgitt:
pakkehovedI forrige eksempel oppretter vi en ny leser fra Bufio -pakken og passerer OS.Stdin som parameter.
Vi leste deretter karakteren og feilen fra leseren. Legg merke til at vi bruker Readrune () -metoden for å returnere en Unicode -karakter.
Den forrige koden skal returnere en utdata som vist:
Skriv inn et tegn>Utgangen ovenfor viser Unicode -kodepunktet for karakteren “a.”
Golang leste Multi-Line
Hvis du vil lese flere linjer fra konsollen, kan du bruke ReadString () -metoden i stedet for readrune, som vist ovenfor.
Et kodeeksempel er gitt nedenfor:
pakkehovedI dette eksemplet vil leseren kontinuerlig lese innspillet fra brukeren til den møter den spesifiserte avgrenseren. I vårt eksempel, hvis leseren møter en ny-linjekarakter, slutter det å lese.
Hvis vi kjører koden, bør vi få en utdata som:
Skriv inn en strengGolang -skanner
En annen metode vi kan bruke for å godta innspill fra stdin er skannermetoden. NewsCanner () -metoden er veldig nyttig når du leser en fil. Vi kan imidlertid bruke den til å lese fra stdin.
Et kodeeksempel vises nedenfor:
pakkehovedDen forrige koden leser inngangen fra brukeren og legger den til inngangsskiven. Du kan utvide den forrige koden for kontinuerlig å lese inngangen og avslutte når det ikke er gitt noen verdi.
Konklusjon
Som sett fra denne guiden, gir Go -programmering oss flere måter å lese innspill fra STDIN. Du kan velge hvilken som helst metode som passer dine behov. Vi håper du fant denne artikkelen nyttig. Sjekk ut andre Linux -hint -artikler for flere tips og opplæringsprogrammer.