1、返回值的基本使用

函数的返回值是指函数被调用之后,执行函数中的代码所得到的结果,这个结果通过 return 语句返回。return 语句将被调函数中的一个确定的值带回主函数中,供主函数使用。函数的返回值类型是在定义函数时指定的。return语句中表达式的类型应与定义函数时指定的返回值类型必须一致。

  1. func 函数名(形参 形参类型)(返回值类型){
  2. // 函数体
  3. return 返回值
  4. }
  5. 变量 := 函数(实参) // return 返回的值赋值给某个变量,程序就可以使用这个返回值了

同样是设计一个加法计算函数:

  1. func add_cal(x,y int) int{
  2. return x+y
  3. }
  4. func main() {
  5. ret := add_cal(1,2)
  6. fmt.Println(ret)
  7. }

2、无返回值

声明函数时没有定义返回值,函数调用的结果不能作为值使用

  1. func foo() {
  2. fmt.Println("hi, sgg")
  3. return // 不写return,默认return空
  4. }
  5. func main() {
  6. //ret := foo() // 报错:无返回值不能将调用的结果作为值使用
  7. foo()
  8. }

3、返回多个值

函数可以返回多个值

  1. func getNameAge() (string, int) {
  2. return "帅高高", 22
  3. }
  4. func main() {
  5. name, age := getNameAge()
  6. fmt.Println(name, age)
  7. }

4、返回值命名

函数定义时可以给返回值命名,并在函数中直接使用这些变量,最后通过 return 关键字返回。

  1. func getNameAge() (name string, age int) { // 定义好返回值值变量
  2. name = "帅高高" // 上面返回值的变量已经定义好了,无需 var重新定义
  3. age = 22
  4. return // return name,age
  5. }
  6. func main() {
  7. name, age := getNameAge()
  8. fmt.Println(name, age)
  9. }