美文网首页
06-接口-02-内置错误接口

06-接口-02-内置错误接口

作者: 玄德公笔记 | 来源:发表于2021-11-20 20:57 被阅读0次

内置的错误接口

package main

import (
    "fmt"
)

// 定义一个 DivideError 结构
type DivideError struct {
    dividee int
    divider int
}

// 实现 `error` 接口
func (de *DivideError) Error() string {
    strFormat := `
    Cannot proceed, the divider is zero.
    dividee: %d
    divider: 0
`
//fmt.Sprintf格式化输出,前边strFormat中有个%d,需要传后边de.dividee的值
    return fmt.Sprintf(strFormat, de.dividee)
}

// 定义 `int` 类型除法运算的函数
func Divide(varDividee int, varDivider int) (result int, errorMsg string) {
    if varDivider == 0 {
            dData := DivideError{
                    dividee: varDividee,
                    divider: varDivider,
            }
            errorMsg = dData.Error()
            return
    } else {
            return varDividee / varDivider, ""
    }

}

func main() {
     x := 100
     y := 10
    // 正常情况
    if result, errorMsg := Divide(x,y); errorMsg == "" {
            fmt.Println("100/10 = ", result)
    }
    // 当除数为零的时候会返回错误信息
    if _, errorMsg := Divide(x, y); errorMsg != "" {
            fmt.Println("errorMsg is: ", errorMsg)
    }

相关文章

  • 06-接口-02-内置错误接口

    内置的错误接口

  • Go 异常处理

    1 error Go语言内置了一个简单的错误接口作为一种错误处理机制,接口定义如下: 它包含一个Error()方法...

  • Learn Golang in Days - Day 15-Go

    Learn Golang in Days - Day 15-Go错误处理 简介 Go语言通过内置错误接口提供了简单...

  • Go语言错误处理

    Go 语言通过内置的错误接口提供了非常简单的错误处理机制。error类型是一个接口类型,这是它的定义: 我们可以在...

  • Go语言之错误处理

    一. 异常处理 1. error接口 Go语言中引入了一个关于错误处理的标准模式error接口,是go语言的内置接...

  • Go 文件I/O操作

    error接口 创建error 对象 自定义错误 panic 示例1 内置的panic()函数引发的panic异常...

  • 比较和排序

    内置类比较 Comparable 接口 Comparable 接口的实现 通过实现 java.lang.Compa...

  • Java中的锁——Lock和synchronized

    一、Lock接口 1、Lock接口和synchronized内置锁 a)synchronized:Java提供的内...

  • java8新特性

    常用内置函数接口, 接口只包含一个抽象方法 消费型接口:Consumer - void accept(T t...

  • Lambda表达式

    一、四大内置核心函数式接口   Consumer消费型接口:   Supplier供给型接口:   F...

网友评论

      本文标题:06-接口-02-内置错误接口

      本文链接:https://www.haomeiwen.com/subject/loaqtrtx.html