Go史诗级选手之函数

函数

上来就抛一个例子先赏赏眼 >>>>>>>
package main

import "fmt"

func add(x int, y int) int {
	return x + y
}

func main() {
	fmt.Println(add(42, 13))
}

函数定义语法

func func_name(arg1 type1, arg2 type2) return_type { 
    function body
    ...
    return value
}
// func_name = 函数名
// arg = 形参名 type = 参数数据类型
// return_type 返回值类型
// function bydy 函数体
// value 返回值
总结:
  1. 函数的定义必须由函数名、形参列表(必须在形参之后制定形参数据类型)、返回值类型、函数体、返回值组成
  2. 当连续两个或多个函数的已命名形参类型相同时,除最后一个类型以外,其他的都可以省略
    func add(x, y int) int {
    	return x + y
    }
    
  3. 函数可以返回任意数量的返回值
    func swap(x, y string) (string, string) {
    	return y, x
    }
    

命名返回值

  1. 函数的返回值可以被命名,它们会被视作定义在函数顶部的变量
  2. 返回值的名称应当具有一定的意义,他可以作为文档使用
  3. 没有参数的 return 语句返回已命名的返回值, 也就是直接返回
    func split(sum int) (x, y int) {
    	x = sum * 4 / 9
    	y = sum - x
    	return
    }
    
  4. 直接返回语句应当仅用在比较短的函数中,在长得函数中它们会影响代码的可读性!!!
原文地址:https://www.cnblogs.com/Ethan99/p/10952742.html