欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Go-函数

程序员文章站 2022-04-11 21:51:59
一.函数的命名 无参数无返回值 无参数有返回值 定长参数,有返回值 定长参数,无回值 不定长参数 匿名函数 命名返回值 二.注意点 由于是编译型语言main 与main里面使用的函数不需要注意先后关系 函数没有缩进的约数,但是为了排版还是要注意缩进不然会看上去非常非常`丑` ......

一.函数的命名

无参数无返回值

方式一
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里面使用的函数不需要注意先后关系
  • 没有关键字传参
  • 没有默认参数
  • 函数没有缩进的约数,但是为了排版还是要注意缩进不然会看上去非常非常