Updated:

less than 1 minute read

개요

  • pass by value
  • 다중 반환 지원
  • 빈 식별자(_)로 반환 값 무시 가능
  • 타입이 연속적으로 같은 매개변수 정의 시 타입을 한번만 정의 가능


예제

  • 코드
     package main
        
     import (
     	"errors"
     	"fmt"
     )
        
     func func1(arg1, arg2 int) {
     	fmt.Println(arg1, arg2)
     }
        
     func func2(arg int) int {
     	return arg
     }
        
     func func3(arg int) (int, error) {
     	return arg, errors.New("message")
     }
        
     func main() {
     	func1(1, 2)
        
     	fmt.Println(func2(1))
        
     	i, err := func3(1)
     	if err != nil {
     		fmt.Println(err)
     		fmt.Println(err.Error())
     	}
        
     	i, _ = func3(1)
     	fmt.Println(i)
     }
    
  • 실행 결과
     1 2
     1
     message
     message
     1