将接口与 nil 进行比较

  • 本文关键字:比较 nil 接口 go
  • 更新时间 :
  • 英文 :


在Google表格示例中,底部有一段代码,它循环访问电子表格中的行:

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

但是,如果电子表格中存在空行,则当row是大小为两的空接口时,由于引用row[0],则此代码会出错<[]interface {}> (length: 0, cap: 0)

一个简单的 if 语句来检查row是否为空不起作用,因为row == nil显示false .

如何检查row是否为无能?

如何检查行是否为无能?

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

但是,由于您需要访问索引 4,因此您不妨检查一下您实际需要的内容:

if len(row) < 5 { // row doesn't have an index 4

最新更新