golang错误处理类型不匹配

时间:2017-04-03 22:40:39

标签: go types

我试图在golang中学习错误处理,以了解错误处理的工作原理。我有以下代码:

var a int8
var b int32    
var err error
c := a + b //types mismatched error
if err != nil {
    fmt.Println(err)
}

当我尝试使用:GoRun在vim中运行此操作时,我得到类型不匹配的错误。

我的问题是,如果在编译期间发生错误甚至可能,我如何捕获该错误并将消息打印到屏幕?

1 个答案:

答案 0 :(得分:1)

尝试在Go中添加两种不同的类型是编译时错误。该程序永远不会编译,因此永远不会运行,因此除了编写程序时,没有什么可以捕获的。

您只需检查err从函数返回的时间。你在这里没有任何功能,所以你的err永远不会被设置(除了你的代码不会编译)。

这与JavaScript或Perl之类的语言不同,后者没有严格的类型检查,因此你会遇到类似这样的事情的运行时错误。