코딩/GoLang

GoLang 익명 함수(Anonymous Function)

드리프트 2021. 1. 28. 21:59
728x170

 

 

안녕하세요?

 

고랭 익명 함수에 대해 알아 보겠습니다.

 

익명 함수는 식별자없이 선언 된 함수입니다. 익명 함수는 표준 함수처럼 입력을 받고 출력을 반환 할 수 있습니다.

 

 

1. 변수에 할당된 익명 함수

 

package main

import "fmt"

// var area 라고 변수를 설정하는 형식인데
// area 변수에 함수를 지정했습니다.
// 이 형식도 익명 함수의 일종입니다.
var (
	area = func(l int, b int) int {
		return l * b
	}
)

func main() {
	fmt.Println(area(20, 30))
}

 

 

2. 익명 함수에 인수 전달.

 

package main

import "fmt"

func main() {

// 익명함수를 선언한 동시에 실행까지 했습니다.
// 마지막 (20, 30) 처럼 ()를 쓰면 함수를 실행하라는 뜻입니다.
// 그리고 (20, 30)처럼 익명함수에 인수를 전달할 수 있습니다.
	func(l int, b int) {
		fmt.Println(l * b)
	}(20, 30)
}

 

 

3. 매개 변수를 받아들이고 값을 반환하도록 정의 된 함수

 

package main

import "fmt"

func main() {
	fmt.Printf(
		"100 (°F) = %.2f (°C)\n",
        
        // 익명함수가 (100) 처럼 인수를 받고
        // return 으로 값을 반환하는 형태도 가능합니다.
		func(f float64) float64 {
			return (f - 32.0) * (5.0 / 9.0)
		}(100),
	)
}

 

그리드형