如,现在需要判断命令行是否传了参数,即 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 targe