的片段:傳遞切片SCANF
package main
import "fmt"
func main() {
mapIsh := make([]int64, 5)
fmt.Scanf("%v %v %v %v %v", &mapIsh[0], &mapIsh[1], &mapIsh[2], &mapIsh[3], &mapIsh[4])
fmt.Print(mapIsh[0], mapIsh[1], mapIsh[2], mapIsh[3], mapIsh[4])
}
我箱子片,並要保存讀操作的內容。以上工作如預期。我沒有得到的是爲什麼我必須傳遞指向數組元素的指針(我認爲值是通過片/數組的引用傳遞的)。
此外,如果我不做一個參數指針後續的值不會被讀取。所以有人可以解釋如下:
輸入數據:1 2 3 4 5
1)爲:
fmt.Scanf("%v %v %v %v %v", mapIsh[0], mapIsh[1], mapIsh[2], mapIsh[3], mapIsh[4])
我得到:0 0 0 0 0
2)爲:
fmt.Scanf("%v %v %v %v %v", &mapIsh[0], &mapIsh[1], mapIsh[2], &mapIsh[3], &mapIsh[4])
我得到:1 2 0 0 0
添加錯誤檢查。在某些情況下,您的示例會產生錯誤「預期的整數」 –
另外,我已經爲格式化字符串添加了'\ n',並且錯誤消失了。 –