??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
go 错误处理panic recover

转载   juggles   2018-11-08   浏览量:13


当程序遇到致命错误时,就是停止运行
Go 通过panic函数来报告致命错误

func testError1()  {
    panic(errors.New("this is a error"))
}

go 错误处理panic recover

代码执行中出现错误
比如数组越界

    index := 4
    arr := []int{1,2,3}
    _  = arr[index]

go 错误处理panic recover

那如何“拦截”运行时发生的错误?
recover函数
会返回一个interface{} 类型的结果,如果程序发生错误,就会返回非nil
和defer函数结合使用,就会将错误捕捉到进行处理

func testError()  {
    defer func() {
        if e := recover(); e != nil {
            fmt.Printf("panic : %s\n", e)
        }
    }()
    index := 4
    arr := []int{1,2,3}
    _  = arr[index]
}

go 错误处理panic recover

转载自://blog.51cto.com/13990437/2314336

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



使用Go来模拟Java中的接口 实现类
针对项目中,相同的流程业务进行重构,使用Go来简单模拟Java中的接口,实现类的方式进行重构。分享一简单例子:packagemain//模拟java中的接口,实现类import"fmt"//声明一个接口,typeworkthreadinterface{do(namestring)}//传入的wt的子类不同,do方法执行的逻辑也不同funcHandle(wtworkthread,namestring
md5加密算法原理及其GO语言实现
md5加密算法原理及其GO语言实现MD5讯息摘要演算法(英语:MD5Message-DigestAlgorithm),一种被广泛使用的密码杂凑函数,可以产生出一个128位元(16位元组)的散列值(hashvalue),用于确保信息传输完整一致。go调用md5方法新建md5.go文件,代码如下:packagemainimport("fmt"...
Go语言中时间函数及定时器的使用
Go语言中时间函数的使用,定时器的实现
各种加密算法在Go语言中的使用
实际编程过程经?;嵊龅绞褂酶髦旨用芩惴?,本文以代码详细介绍了在Go语言中如何使用MD5、SHA256、RIPEMD160、DES、3DES、AES进行加密
Go语言之如何给*int32类型赋值
直接上代码:packagemainimport"fmt"funcmain(){varnum*int32variint32=5//针对*int32的,先创建一个i类型,然后取i的地址,赋值给*int32num=&ifmt.Println("=====>:\t",num)fmt.Println("=====>:\t",*num)}运行结果:=====>:0xc04206408
go语言学习之路(二)——go语言进行微信公众号开发
学习教程地址://www.imooc.com/topic/golang?mc_marking=ed9ea9bd605fe0066c71d80cc8603806&mc_channel=bdgoyyzt&audience=230227github地址:https://github.com/leeeboo/leeeboo.github.com微信公众号开发文档:https://...
Go语言之读取yaml配置文件,转换成struct结构,json形式输出
1、例子11.1、yaml文件内容如下:host:localhost:3306user:rootpwd:123456dbname:test1.2、代码如下://将yaml文件,转换成对象,再转换成json格式输出packagemainimport("encoding/json""fmt""gopkg.in/yaml.v2""io/ioutil")//定义conf类型//类型里的属性,全是配置文件里
Go语言之正则表达式
[TOC]Go语言正则表达式方式一:使用Compilepackagemainimport("fmt""regexp")consttext="[email protected]"funcmain(){//re是正则表达式的匹配器re,err:=regexp.Compile("[email protected]")iferr!=nil{panic(err)}r
Go语言中日志处理,log包的使用
Golang提供了原生日志库“log”,使用简单方便,本文以代码为例进行说明介绍。
Go语言中的反射机制reflect
go的反射机制是要通过接口来进行的,而类似于Java的Object的空接口可以和任何类型进行交互,因此对基本数据类型等的反射也直接利用了这一特点。