Мне нужно прочитать произвольное количество входных данных из stdin
.У меня есть следующий код, который работает нормально и читает произвольное количество ввода из командной строки:
// Reads from command-line arguments
package main
import(
"fmt"
"os"
"strconv"
)
func main(){
for _,arg := range os.Args[1:] {
n, err := strconv.Atoi(arg)
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
fmt.Printf("%d\n", n)
}
}
Но я хочу изменить его на чтение с stdin
, и я сделал следующее:
// Reads input from stdin
package main
import "fmt"
func main(){
var a, b, c, d int
count, err := fmt.Scan(&a, &b, &c, &d)
fmt.Printf("Arguments Read: %d\n", count)
fmt.Printf("%d, %d, %d, %d\n", a, b, c, d)
if err != nil {
fmt.Printf("%v\n", err)
}
}
Но во второй версии кода я обязан прочитать фиксированное количество аргументов из stdin
.Как я могу прочитать произвольное количество аргументов из stdin
?