四时宝库

程序员的知识宝库

小白学Go语言(golang):错误处理

上一篇文章讲了使用Go语言输出hello world,本篇文章简单说一下Go语言中的错误处理。

输出hello world的代码如下:

package main

import "fmt"

func main() {
	fmt.Println("hello world")
}

Go语言函数可以一次返回多个不同类型的值,所以我们可以把正常值和错误值同时返回来,具体如何处理这些返回值由函数调用方来自行决定。

为了演示Go语言中的错误处理,我们改动一下以上hello world程序,让具体输出的内容由hello函数来返回,当然hello函数有可能会返回错误,我们会在main函数中来处理这种情况,改动之后的代码如下:

package main

import (
    "fmt"
    "errors"
    "log"
)

func main() {
    // message, err := hello("Lilei") //此行会返回Hello Lilei.给message
    message, err := hello("") //参数为空会返回错误给err
    if err != nil {
        log.Fatal(err) //如果有错误,打印错误日志并结束
    }
    fmt.Println(message)
}

func hello(name string) (string, error) {
    if name == "" {
        return "", errors.New("Param name is empty.") //name参数为空返回错误
    }

    return fmt.Sprintf("Hello %v.", name), nil //返回正常信息
}

import部分导入了两个新的package包,log包用来打印日志,errors包用来生成错误信息。

再来关注一下hello函数,接收一个string类型的name参数,返回一个string类型的值和一个error类型的值,如果参数为空,就调用errors.New("Param name is empty.")生成错误信息并返回,如果参数为正常字符串,就返回正常信息和nil,这里nil是没有错误时候error的默认值。

命令行执行以上代码打印出错误如下:

以上就是Go语言错误处理相关内容。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接