Go-函数

一.函数的命名

无参数无返回值

方式一
func 函数名()(){}

方式二
func 函数名(){} 

无参数有返回值

方式一
func 函数名()(返回参数1的数据类型1){}

定长参数,有返回值

func 函数名(参数1 类型,参数2 类型)(返回参数1的数据类型1,返回参数2的数据类型){}
//如果参数1与参数2的数据类型相同
func 函数名(参数1,参数2 类型)(返回参数1的数据类型1,返回参数2的数据类型){}
//如果参数1与参数2的数据类型为int,参数3数据类型为uint
func 函数名(参数1,参数2 int,参数3 uint)(返回参数1的数据类型1,返回参数2的数据类型){}

定长参数,无回值

//方式一
func 函数名(参数1 类型,参数2 类型){}

//方式二
func 函数名(参数1 类型,参数2 类型)(){}

不定长参数

//方式一
func 函数名(不定长参数1... 类型){}

//有定长参数和不定长参数
func 函数名(定长参数 类型,不定长参数1... 类型){}
//不定长的参数必须写在定长的参数后面

//不定长参数所有数据类型
func 函数名(不定长参数1... interface{}){}

匿名函数

//定义
func (参数一,参数二)(返回参数1的数据类型1){return 1 }
//定义+调用
func (参数一,参数二)(返回参数1的数据类型1){return 1 }()

命名返回值

package main

import "fmt"

func abc()(a int,b int){
    //var a,b int  相当于默认执行这条
    //但是ab只在函数内生效函数外部生效
	return    
    //return 与return a,b是一样的
}
func main() {
	fmt.Println(abc())
}

二.注意点

  • 由于是编译型语言main 与main里面使用的函数不需要注意先后关系
  • 没有关键字传参
  • 没有默认参数
  • 函数没有缩进的约数,但是为了排版还是要注意缩进不然会看上去非常非常
posted @ 2019-11-18 19:11  小小咸鱼YwY  阅读(376)  评论(0编辑  收藏  举报