码迷,mamicode.com
首页 > 其他好文 > 详细

03-函数

时间:2019-12-10 15:09:06      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:列表   函数名   多个   ace   结果   print   col   指定   pac   

函数的声明

在Go语言中,函数定义语法如下:

func 函数名(参数1 类型,参数2 类型) (返回值类型){

      //函数体(具体实现的功能)
    返回值 }

函数中的参数列表和返回值并非是必须的,所以下面代码示例有些是不带的。

代码示例:

1.无参数,无返回值

package main
import "fmt"

func main() {
    test()  #调用test函数
}

func test()  {  #定义的test函数,无返回值,无参数
    fmt.Println("xxxxxx")
}

#结果
xxxxxx

2.带参数,无返回值

package main
import "fmt"

func main() {
    test(2,5)
}

func test(a int,b int)  {   #如果参数类型是一样的,可以写成 a,b int 
    fmt.Println(a+b)
}

#结果
7

3.带参数,有一个返回值

package main
func main() {
    print(test(3,9))
}

func test(a ,b int) int {  #有返回值时,必须指定返回值的数据类型
    return a+b
}

4.带参数,有多个返回值

package main
import "fmt"
func main() { var a int var b string a,b=test(3,9) #a,b参数接收 fmt.Print(a,b) } func test(a int,b int) (int,string) { #返回多个值,需要用(),接收也需要两个参数接收 return a+b,"aaa" #返回一个int,一个string类型值 }

5.命名返回值

package main
import "fmt"

func main() {
    fmt.Print(test1(1,2))
}

func test1(a,b int) (j int, k string) {  #命名返回值j,k
    j=a+b
    k="xxx"
    return   #不需要明确指定返回值,默认返回j,k
}
#结果
3xxx

不定长参数

package main
import "fmt"

func main() {
    test1(1,"aaa")
}

//不定长参数
func test1(a ...interface{})  {   #也可以写成a ...int   接收int类型参数
    fmt.Println(a)
}
#结果
[1,aaa]

闭包函数:

定义:在函数内部,对外部作用域有引用叫闭包函数

在go语言中,函数是一等公民,可以把函数赋值给一个变量,函数就是一等公民

package main
import "fmt"

func test11(a int) (int,int) {
    fmt.Println("xxx")
    return 1,2

}

func main() {
    var a func(a int)(int,int)   #定义一个a函数变量
    a=test11
    a(1)  #传入参数调用
}
#结果
xxx

 

 

03-函数

标签:列表   函数名   多个   ace   结果   print   col   指定   pac   

原文地址:https://www.cnblogs.com/wangcuican/p/12016524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!