0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点#go基础之错误值

例如,strconv.Atoi函数试图将字符串转换为整数。如果转换成功,它将返回一个错误值nil,这意味着我们的程序可以继续进行。但如果错误值不是nil,则意味着字符串不能转换为数字。在这种情况下,我们选择打印错误值并退出程序。

result , err := strconv.Atoi(input)
if err != nil (
log.Fatal(err)
)

我们自己定义的函数如何返回err呢?

我们可以使用fmt.Errorf

现在我们需要一种方法来编写一个面积的函数将返回一个错误值以及面积。要声明函数的多个返回值,需将返回值类型放在函数声明的第二组圆括号中(在函数参数的圆括号之后),用逗号分隔。(当只有一个返回值时,返回值周围的圆括号是可选的,但如果有多个返回值,则必须使用圆括号。)以后,当调用该函数时,你将需要考虑额外的返回值,通常通过将它们分配给额外的变量来实现。对于多个返回值,最常见的用法是返回一个主返回值,后跟一个额外值,表示函数是否遇到错误。如果没有问题,通常将额外值设置为nil,如果发生错误,则设置为错误值。

package main

import "fmt"
func mj(width float64,height float64) (float64,error){
if width < 0 {
return 0,fmt.Errorf("宽度不能小于0",width)
}
if height < 0 {
return 0,fmt.Errorf("长度不能小于0",height)
}
return width*height , nil
}
func main(){
mj,err := mj(3.2,-2.4)
fmt.Println(err)
}
举报

相关推荐

0 条评论