Сравните интерфейс с нулем - PullRequest
0 голосов
/ 02 апреля 2019

В листах 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?

1 Ответ

2 голосов
/ 02 апреля 2019

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

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

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

if len(row) < 5 { // row doesn't have an index 4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...