在go中,使用panic来抛出一个错误并将程序停止。一般有主动panic和被动panic两种情况。对于主动panic,可以是当一个程序启动时如果需要的依赖程序没有启动就将这个启动停掉,比如没有开etcd或mysql等,例如:func main() { ismysql := false; // 模拟mysql未启动的场景 if !ismysql { …
假如说有一个需求就是每次访问一个函数之后都会获得一个变量递增之后的值,并且可以随时将这个变量的值清零。如果想要做到前半部分的需求,我们可以使用全局变量。例如var idx int func getidx() int { idx += 1 return idx } func main() { for range 5 { fmt.Println(get…
在go中定义一个函数之后,对于形参的长度是可以变换的。通常对于可以变化长度的形参后面加上三个点 ... ,并且此时这个参数就变为了一个切片,例如:func add(items ...int) (sum int) { for _, v := range items { sum += v; } return }对于这个函数来说,实现了将多个传入的int…