從控制檯讀取輸入

使用 scanf

Scanf 掃描從標準輸入讀取的文字,將連續的空格分隔值儲存到由格式確定的連續引數中。它返回成功掃描的專案數。如果這小於引數的數量,則錯誤將報告原因。輸入中的換行符必須與格式中的換行符匹配。一個例外:動詞%c 始終掃描輸入中的下一個符文,即使它是空格(或製表符等)或換行符。

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

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

使用 scan

掃描掃描從標準輸入讀取的文字,將連續的空格分隔值儲存到連續的引數中。換行計為空格。它返回成功掃描的專案數。如果這小於引數的數量,則錯誤將報告原因。

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

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

使用 scanln

Sscanln 與 Sscan 類似,但在新行停止掃描,在最終專案之後必須有換行符或 EOF。

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

使用 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())
}