package main

import "fmt"

func main() {
	var arr []string
	
	if arr == nil {
		fmt.Println("this is null")
	}

	if len(arr) > 0 {
		fmt.Println("len arr > 0")
	}else{
		fmt.Println("len this is null")
	}
	
	if arr[0] != "" {
		fmt.Println("arr 0 != null")	
	}else{
		fmt.Println("[0] this is null")
	}

}

输出是:

原文写错,谢谢 cuikuifa评论了你的博文 指出。我修改成上面的了。

相当然的写成了这样:

if len(sourceArr) > 0 {
    //非空执行

就出错了,空也执行了。

因为数组空时也是长度为1

改变这样

if sourceArr[0] != "" {
    // 非空执行

就成了。