Sök…


Läs inmatning från konsolen

Använda scanf

Scanf skannar text läst från standardinmatning och lagrar på varandra följande rymdseparerade värden i på varandra följande argument, bestämd av formatet. Det returnerar antalet skannade objekt. Om det är mindre än antalet argument kommer fel att rapportera varför. Nya linjer i ingången måste matcha nya linjer i formatet. Det ena undantaget: verbet% c skannar alltid nästa runa i ingången, även om det är ett mellanslag (eller flik etc.) eller ny linje.

 # Read integer 
 var i int
 fmt.Scanf("%d", &i)

 # Read string 
 var str string
 fmt.Scanf("%s", &str)

Använd scan

Skanning skannar text läst från standardinmatning och lagrar på varandra följande rymdseparerade värden i på varandra följande argument. Nylinjer räknas som rymd. Det returnerar antalet skannade objekt. Om det är mindre än antalet argument kommer fel att rapportera varför.

 # Read integer 
 var i int
 fmt.Scan(&i)

 # Read string 
 var str string
 fmt.Scan(&str)

Använda scanln

Sscanln liknar Sscan, men slutar skanna på en ny linje och efter den sista artikeln måste det finnas en ny linje eller EOF.

# Read string
var input string
fmt.Scanln(&input)

Använda bufio

# Read using Reader
reader := bufio.NewReader(os.Stdin)
text, err := reader.ReadString('\n')

# Read using Scanner
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
    fmt.Println(scanner.Text())
}


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow