zoukankan      html  css  js  c++  java
  • go 判断数组下标是否存在

    举例

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

    如果使用下述的判断:

    func main() {
    	fmt.Println(os.Args[1])
    }
    

    会报错:index out of range

    panic: runtime error: index out of range [1] with length 1
    
    goroutine 1 [running]:
    main.main()
            D:/go_work/test/test4.go:9 +0xbc
    exit status 2
    

    现有两种方式解决:

    第一种:

    通过遍历的方式判断 key 是否存在

    func main() {
    	var result string
    	for k, v := range os.Args {
    		if k == 1 {
    			result = v
    		}
    	}
    	if result != "" {
    		fmt.Printf("os.Args[1] = %s", result)
    	}
    }
    

    第二种:

    由于数组下标从0开始,len(arr)-1 为最后一个元素的下标,所以判断所要查询的 key 是否小于 len(arr) 就可以了

    func main() {
    	if len(os.Args)>=2 {
    		fmt.Printf("os.Args[1] = %s", os.Args[1])
    	}
    }
    
  • 相关阅读:
    串口基本知识
    20180826
    20180819
    自动化测试
    说话有重点 测试思维
    学习C语言,在软件测试中如何用?
    PC能替代服务器吗?
    服务器与普通电脑的区别?
    k8s 回滚应用
    k8s Service
  • 原文地址:https://www.cnblogs.com/niuben/p/15156476.html
Copyright © 2011-2022 走看看