gpt4 book ai didi

go - 如果 error 不是 nil 为什么要同时返回 err 和 nil?

转载 作者:IT王子 更新时间:2023-10-29 00:49:24 25 4
gpt4 key购买 nike

我正在关注 golang wiki instruction并发现这令人困惑:

func loadPage(title string) (*Page, error) {
filename := title + ".txt"
body, err := ioutil.ReadFile(filename)
if err != nil {
return nil, err
}
return &Page{Title: title, Body: body}, nil
}

如果err不等于nil,为什么返回nil?

难道不应该是:

if err != nil {
return err
}

就像golang errors and values中描述的那样?

最佳答案

该函数返回 2 个东西:一个页面(指针)和一个错误。如果发生错误,则没有要返回的页面,因此返回的第一个值为 nil。返回的第二个值是错误,err,这是应该的。

关于go - 如果 error 不是 nil 为什么要同时返回 err 和 nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52007191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com