2017-09-29 51 views

回答

7

fmt.Scanf()返回成功掃描的項目數:

SCANF掃描文本讀取標準輸入,存儲連續空間分隔值成連續的參數如由格式決定。 它返回成功掃描的項目數。如果這小於參數的數量,err會報告原因。

所以,如果你輸入一個有效的整數裝配到一個intfmt.Scanf()會成功解析它並將其存儲在n,所以它會返回1.

你是否應該輸入一個無效的數字(例如string"a"),掃描就不會成功,所以0將與非nil錯誤在本示例中返回沿,如:

var n int 
a, err := fmt.Sscanf("a", "%d", &n) 
fmt.Println(a, err) 

哪個輸出(在Go Playground上試一下):

0 expected integer 
+0

謝謝,我明白了:) –