코딩/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),
	)
}

 

그리드형

'코딩 > GoLang' 카테고리의 다른 글

GoLang 함수 파라미터에 가변인자 쓰기  (0) 2021.02.03
GoLang 클로저 함수  (0) 2021.01.28
GoLang의 Higher Order Function  (0) 2021.01.28
GoLang에서 Map Iterate, add, update 하기  (0) 2021.01.28
GoLang에서 URL 파싱하기  (0) 2021.01.26