如,现在需要判断命令行是否传了参数,即 os.Args[1] 是否存在

如果使用下述的判断:

package main

import (
	"fmt"
	"os"
)

func main() {
	if os.Args[1] != "" {
		fmt.Println("aaa")
	} else {
		fmt.Println("bbb")
	}	
}

会报错:index out of range

panic: runtime error: index out of range

goroutine 1 [running]:
main.main()
	/root/workspace/go/testn.go:9 +0x100
exit status 2

正确处理方法:通过遍历的方式判断 key = 1 是否存在

package main

import (
	"fmt"
	"os"
)

func main() {
	var target string                             // 用来获取最终需要的os.Args[1]
	for k, v := range(os.Args) {
		if k == 1 {                               // 假设需要获取os.Args[k], k = 1
			target = v
		}
	}	
	
	if target != "" {                             // 不为空则表示os.Arg[1]存在
		fmt.Printf("os.Arg[1] = %s", target)     
	}
}