十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这期内容当中小编将会给大家带来有关利用Golang怎么对数组中的元素进行判断,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联公司为企业级客户提高一站式互联网+设计服务,主要包括成都网站制作、网站设计、app开发定制、小程序定制开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。如果使用下述的判断:
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) } }
补充:golang怎么判断是否传递了数值
今天在做项目的时候有个需求就是状态必须传递,在golang中接收到json参数解析到结构体中数值类型不传递有一个默认的0,但是状态也可以传递0,怎么来判断是否传递了这个数值呢?
方法一:
在解析之前给结构体默认值,案例如下:
var jsonBlob = []byte(`[ {"Name": "Platypus", "Order": "Monotremata"} ]`) type Animal struct { Name string Order string ID int } animals := &Animal{ID: -9999} err := json.Unmarshal(jsonBlob, animals) if err != nil { fmt.Println("error:", err) } fmt.Printf("%+v", animals)
方法二:
使用额外的结构体+指针类型,如果不传递解析为nil而不是0,如下:
type NodeXXX struct { Date string `json:"date"` Count *int32 `json:"count"` }
上述就是小编为大家分享的利用Golang怎么对数组中的元素进行判断了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。