English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

고로간 기본 강의

고로간 제어문

고로간 함수 & 메서드

고로간 구조체

고로간 슬라이스 & 배열

고로간 문자열(String)

고로간 포인터

고로간 인터페이스

Golang 동기

Golang 예외(Error)

Golang 기타杂项

Go 언어 익명 함수

Go 언어는 익명 함수라는 특별한 함수를 제공합니다. 익명 함수는 이름이 없는 함수입니다. 내장 함수를 생성할 때 이 함수가 매우 유용합니다. Go 언어에서 익명 함수는 클로저를 형성할 수 있습니다. 익명 함수는 또한함수 문.

문법:

    func(parameter_list) return_type {
        //코드
        //return_type이 주어지면 return语句 사용
        //return_type이 제공되지 않으면
        //return语句 사용
        return
    }()
package main 
  
import "fmt"
  
func main() { 
      
    //익명 함수
   func() 
  
      fmt.Println("환영! to oldtoolbag.com") 
  }() 
    
}

출력:

환영! to oldtoolbag.com

중요 사항:

  • Go 언어에서 익명 함수를 변수에 할당할 수 있습니다. 함수를 변수에 할당할 때, 변수의 타입은 함수 타입이며, 다음 예제와 같이 변수를 함수처럼 호출할 수 있습니다.

    package main 
      
    import "fmt"
      
    func main() { 
          
        // 익명 함수를 변수에 할당
       value := func(){ 
          fmt.Println("환영! to oldtoolbag.com") 
      } 
      value() 
        
    }

    출력:

    환영! to oldtoolbag.com
  • 익명 함수에서 매개변수를 전달할 수도 있습니다。

    package main 
      
    import "fmt"
      
    func main() { 
          
        //익명 함수 매개변수 전달
      func(ele string){ 
          fmt.Println(ele) 
      }("w3codebox") 
        
    }

    출력:

    w3codebox
  • 또한 익명 함수를 다른 함수에 매개변수로 전달할 수 있습니다。

    package main 
      
    import "fmt"
      
      
      //익명 함수를 매개변수로 전달  
     func GFG(i func(p, q string) string){ 
         fmt.Println(i("Geeks", "for")) 
           
     } 
        
    func main() { 
        value:= func(p, q string) string{ 
            return p + q + "Geeks"
        } 
        GFG(value) 
    }

    출력:

    w3codebox
  • 또한 다른 함수에서 익명 함수를 반환할 수 있습니다。

    package main 
      
    import "fmt"
      
     //익명 함수 반환
     func GFG() func(i, j string) string{ 
         myf := func(i, j string)string{ 
              return i + j + "w3codebox"
         } 
        return myf 
     } 
        
    func main() { 
        value := GFG() 
        fmt.Println(value("환영합니다", "to")) 
    }

    출력:

    환영합니다 w3codebox