Я пытался читать в файле CSV в Golang построчно с циклом for, который требовал оператора if с разрывом, чтобы увидеть, была ли ошибка чтения файла EOF. Я нахожу этот синтаксис довольно ненужным, когда я могу в java, например, прочитать строку в условном цикле while и одновременно проверить на ошибку EOF. Я думал, что объявление переменной внутри цикла for возможно, и я точно знаю, что вы можете сделать это с помощью операторов if в Golang. Выполнение:
if v := 2; v > 1{
fmt.Println("2 is better than 1")
}
Первый фрагмент кода, который у меня есть, это то, что я знаю для работы в моей программе.
reader := csv.NewReader(some_file)
for {
line, err := reader.Read()
if err == io.EOF {
break
}
//do data parsing from your line here
}
Я не знаю, является ли этот второй фрагмент концептуально возможным или просто синтаксически неправильным.
reader := csv.NewReader(some_file)
for line, err := reader.Read(); err != io.EOF {
//do data parsing from your line here
}
Хотелось бы получить некоторые пояснения / преимущества / условности сделать это одним способом по другому, спасибо:)