Go语言圣经 - 第5章 函数 - 5.3 多返回值

本文探讨Go语言中函数的多返回值特性,如何处理错误信息和资源释放。通过findlinks函数示例,解释了如何在函数中正确处理多返回值,包括返回错误信息、使用fmt.Errof、确保网络资源关闭、以及如何在函数间传递多返回值函数。同时,文章提到了显式变量名的重要性,以及在适当情况下使用bare return的考量。
摘要由CSDN通过智能技术生成

第5章 函数

函数可以让我们将一个语句序列打包成一个单元,然后可以从程序中其他地方多次调用,函数的机制可以让我们把一个大的工作分解成小任务。前面我们已经接触过函数,本章我们将讨论函数的更多特性

5.3 多返回值

我们都已经知道,一个函数可以有多个返回值,接下来我们再来继续研究函数的返回值

许多标注库中的函数返回值一般都有两个,一个是期望得到的返回值,另一个是函数出错时的错误信息

我们来看看新改写的findlinks函数,新改后的findlinks可以自己发起HTTP请求。因为HTTP请求和解析操作都有可能失败,因此findlinks函数有两个返回值,每一个显示链接列表,另一个返回错误信息

一般而言,HTML的解析器可以处理HTML页面的错误结点,构造出HTML页面结构,所以解析HTML很少失败,并且意味着如果findlinks失败了,极有可能是I/O的错误导致的

func main() {
	for _, url := range os.Args[1:] {
		links,err := findlinks(url)
		if err != nil {
			fmt.Fprintf(os.Stderr,"findlinks2",err)
			continue
		}
		for _,link := range links {
			fmt.Println(link)
		}
	}
}
func findlinks(url string) ([]string,error) {
	resp,err := http.Get(url)
	if err != nil {
		return nil,err
	}
	if resp.StatusCode != http.StatusOK {
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言圣经》是一本广受好评的教材,旨在帮助读者系统地学习和掌握Go语言。这本书以简明清晰的方式介绍了Go语言的各种特性、语法和用法,是入门和进阶者的理想选择。 首先,该书提供了对Go语言基础知识的全面介绍。它从简单到复杂地解释了Go语言的基本概念,诸如变量、函数、循环和条件语句等等。通过丰富的例子和练习,读者能够逐步理解和掌握这些概念。 其次,该书详细介绍了Go语言的高级特性和用法。读者可以学习到Go语言的面向对象编程、并发编程、网络编程等关键技术。并发编程是Go语言的一个独特特性,对于提高程序性能和扩展能力非常重要。 此外,该书还包含了对常见问题和陷阱的讲解,帮助读者避免一些常见的错误和陷阱。同时,书中提供了大量的案例和实践项目,读者可以通过实际操作来巩固所学内容。 《Go语言圣经》以其简洁明了的风格和对细节的深入讲解而闻名。无论是作为初学者的入门指南,还是作为有经验的开发者的参考书,这本书都能满足读者的需求。此外,该书的PDF版本能够方便地在线或离线阅读,为读者提供了更加便捷的学习体验。 综上所述,《Go语言圣经》是一本内容丰富、权威性强的优秀教材。它不仅适合Go语言的初学者,也适用于那些想要深入学习和掌握Go语言开发者。无论是在线阅读还是PDF版本,读者都能够方便地获取和利用这本宝贵的学习资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值