Golang函数的多返回值

Golang可以说是少有支持多返回值的静态编程语言,并且可以给返回值命名,这在有的时候非常好用;

先来看一个函数:

func SignUp(username string,password string) (int, bool) {
	
}

假设 SignUp 的作用是用来注册用户,返回一个整形和一个布尔值,当注册成功时bool值为true,int为用户ID;


	userID,successed := SignUp("laowang","123456")

	if successed{
		println("注册成功,用户ID为:",userID)
	}else{
		println("注册失败")
	}

你还可以为返回值给定一个名称,这样会有更好的阅读体验:

func SignUp(username string,password string) (userID int, successed bool) {

}

你可以使用常规的方法返回值:

return 1,true

也可以使用赋值的方法返回:

	userID = 1
	successed = true
	return

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/golang-function-return.html

分类: 计算机技术
推荐阅读:
Python delattr()函数 在Python中,delattr()函数用于删除对象的属性。它接受两个参数:第一个参数是要删除属性的对象,第二个参数是要删除的属性的名称。如果对象中不存在指定的属性,将会抛出AttributeError异常。
Error establishing a database connection解决办法 最近在学习网络安全方面的内容,需要在低版本的WordPress中复现漏洞,这里记录一次安装4.2版本的WordPress时出现的 Error establishing a database connection 错误的处理过程;
PySide6模块的导入和使用 Qt拥有众多的模块帮助你构建应用程序,例如QtCore,QtGui,QtNetwork,QtOpenGL,QtQuick,QtQml,QtWidgets等等;本文将讲解PySide6常用模块的功能以及在Python中的导入和使用方法;
Golang逐行读取文本文件 当文件过大,不适合一次性载入内存,且文件每行都包含特定信息时,我们就需要逐行读取文件来保证程序的性能;
Linux系统下正确清空日志文件的方法 在Linux系统下,你不应该直接删除日志文件来实现清除日志内容,因为那样可能会造成日志无法继续产生的问题;
Rust:if this is intentional, prefix it with an underscore解决方法 编译Rust程序时提示:if this is intentional, prefix it with an underscore: `_x`,这表明存在一个未使用的变量 x,你可以将其删除或在变量名前添加一个下划线前缀;