go语言匿名函数,两种声明方法和使用方法

什么是匿名函数

go语言中的匿名函数,顾名思义,就是没有函数名的函数!与python的lambda有些类似,但不同。那这样的函数该怎么调用呢?这涉及到两种声明方法和对应的两种使用方法。


go匿名函数的两种声明方法和使用方法

go的匿名函数在计算机内存当中无法单独存在,所以必须在声明的同时直接调用,或通过赋值的方式赋值给一个分配有内存空间的变量,让变量来储存,并通过该变量来进行调用。

匿名函数的一般结构及调用方法

func(args args_type)(result result_type){
	代码块
	}(args)

匿名函数的第一种声明方法(基本结构)同go语言的一般函数基本类似,不过没有函数名,除此之外,代码块后的括号()是对匿名函数的调用,里面传递的是参数,如下实例:

package main

import "fmt"

func main() {

	result := func(a int, b int) int {
		c := a + b
		return c
	}(1, 2) //括号表示调用,并传入参数1和2
	fmt.Println(result)

}

代码输出:
3

匿名函数的第二种声明方法及调用

go语言匿名函数的第二种声明方法,就是将声明的匿名函数赋值给一个变量,然后通过变量来调用这个函数。

package main

import "fmt"

func main() {

	result := func(a int, b int) int {
		c := a + b
		return c
	}
	r := result(2, 3)
	fmt.Println(r)

}

代码输出:
5

全栈后端 / go语法 :













Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.