В примере листов Google есть этот фрагмент кода внизу, который зацикливается над строками в электронной таблице:

for _, row := range resp.Values {
  // Print columns A and E, which correspond to indices 0 and 4.
  fmt.Printf("%s, %s\n", row[0], row[4])
}

Однако этот код выдает ошибку, если в электронной таблице есть пустая строка из-за ссылки на row[0], когда row является пустым интерфейсом размера два <[]interface {}> (length: 0, cap: 0)

Простой оператор if для проверки того, пусто ли row, не работает, как row == nil показывает false.

Как я могу проверить, пуст ли row?

go
-2
alli 2 Апр 2019 в 18:51

1 ответ

Лучший ответ

Как я могу проверить, пуста ли строка?

if len(row) == 0 { // row is empty

Но поскольку вам нужен доступ к индексу 4, вы также можете проверить, что вам действительно нужно:

if len(row) < 5 { // row doesn't have an index 4
2
Adrian 3 Апр 2019 в 13:30