Go 自学:使用错误处理包 errors package

news/2024/11/8 14:39:17/

以下代码中使用errors.New()函数建立error。

package mainimport ("errors""fmt"
)func divide(x, y float64) (float64, error) {if y == 0 {return 0.0, errors.New("no dividing by zero")}return x / y, nil
}func test(x, y float64) {defer fmt.Println("================================================")fmt.Printf("Dividing %.2f by %.2f\n", x, y)quotient, err := divide(x, y)if err != nil {fmt.Println(err)return}fmt.Printf("Quotient: %.2f\n", quotient)
}func main() {test(10, 0)test(10, 2)test(15, 30)test(6, 3)
}

输出为:
Dividing 10.00 by 0.00
no dividing by zero

Dividing 10.00 by 2.00
Quotient: 5.00

Dividing 15.00 by 30.00
Quotient: 0.50

Dividing 6.00 by 3.00
Quotient: 2.00


http://www.ppmy.cn/news/1059853.html

相关文章

业财融合背景下,全面预算管理的发展之路

随着社会经济的高速发展,单一的组织机构职能极大限制了企业发展的创新动能。业务壁垒的不断滋生造成了信息传达严重的不对等,沟通协作成本加大,业务效率降低,专业化的分工形式逐渐成为了制约企业发展的桎梏。 2016年&…

sql解决取多个截至每个月的数据

问题:需要查询1月、1-2月、1-3月… 1-12月,分区间的累计数据,在同一个sql语句里面实现。 多个分开查询效率不高,并且数据手动合并麻烦。 with t1 as ( SELECT *,CASE WHEN insutype 390 THEN 居民 ELSE 职工 END 人员类别,SUBST…

js、PHP连接外卖小票机打印机方案(调用佳博、芯烨等)

前言: 目前开发需要用到电脑直接连接外卖小票机打印小票,查阅各种资料,使用 6612345浏览器 终于解决了这个问题。 效果: PHP、js直接连接小票机并且自动出票。 支持的小票机: 目前测试可以的有:电脑A4打印…

SLS日志解析配置

分隔符模式 INFO|2023-04-10T11:05:30.12808:00|X.X.X.X|ACCESS_ALLOWED|1 模式:分隔符模式 日志样例:贴文档说明中的样例,或者直接在SLS历史日志里找一行 分隔符:竖线 日志抽取内容Key用文档中说明的变量名 是否接受部分字段&am…

SQL Server、MySQL和Oracle数据库分页查询的区别与联系

摘要:本文将通过一个现实例子,详细解释SQL Server、MySQL和Oracle这三种常见关系型数据库在分页查询方面的区别与联系。我们将提供具体场景下的SQL语句示例,并解释每个数据库的分页查询用法以及优化方法,帮助读者更好地选择适合自…

C语言gets( )函数详解

1.描述 char* gets( char* str)函数:从标准输入(stdin)读取字符串,遇到空格不结束,直到遇到回车,将字符串存储到str指向的字符串。 2.gets( )和scanf( )的区别 gets(str)和scanf("%s",str)作用…

c++ 17 std::optional

std::optional是C17引入的一个模板类,旨在表示一个值可能存在或可能不存在,而不是使用特定的标记值或指针(例如nullptr)来表示值的缺失。 以下是std::optional的一些核心概念和用法: 基本用法 你可以用std::optiona…

matlab使用教程(23)—优化函数的参数

本博客向您介绍如何存储或访问向 MATLAB 复合函数(如 fzero 或 integral)传递的数学函数的额外参数。 MATLAB 复合函数基于某个值范围计算数学表达式。这些函数之所以称为复合函数是因为它们是接受函数句柄(函数的指针)作为输入…