2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

Go에서 함수는 어떻게 정의하나요?

_____
Q: Go에서 함수는 어떻게 정의하나요?

A: Go 언어에서 함수는 `func` 키워드를 사용하여 정의합니다. 기본 문법은 다음과 같습니다.

```go
func 함수명(매개변수 리스트) 반환형 {
// 함수 몸체
return 반환값
}
```

- `func` 키워드 뒤에 함수 이름을 씁니다.
- 괄호 안에 매개변수(Parameter)를 입력하며, 매개변수는 `이름 타입` 형식으로 나열합니다. 여러 개일 경우 콤마(,)로 구분합니다.
- 반환값(Return type)이 있는 경우 매개변수 뒤에 반환형을 적습니다. 반환값이 여러 개일 수도 있습니다.
- 함수 몸체는 중괄호 `{}` 안에 작성합니다.
- 반환값이 있을 경우 `return` 키워드를 사용해서 값을 반환합니다.

예제:

```go
func add(a int, b int) int {
return a + b
}
```

위 함수는 두 개의 정수를 입력받아 합을 정수로 반환합니다.

또한, 매개변수 타입이 연속으로 같으면 다음과 같이 축약할 수도 있습니다.

```go
func add(a, b int) int {
return a + b
}
```

반환값이 여러 개인 함수 예시:

```go
func swap(x, y string) (string, string) {
return y, x
}
```

이처럼 Go의 함수는 간결하고 명확한 문법을 갖추고 있으며, 함수 선언 시 `func` 키워드와 함께 매개변수와 반환 타입을 지정하여 정의합니다.
Go 언어에서 함수는 프로그램의 기본 구성 요소 중 하나로, 특정 작업을 수행하는 코드 블록입니다.

함수는 재사용 가능성을 높이고, 코드의 가독성을 향상시키며, 프로그램의 구조를 명확하게 하는 데 중요한 역할을 합니다.

Go에서 함수를 정의하는 방법에 대해 자세히 설명하겠습니다.

함수 정의 기본 구조 Go에서 함수는 `func` 키워드로 시작하며, 다음과 같은 기본 구조를 가집니다: ```go func 함수이름(매개변수1 타입1, 매개변수2 타입2, ...) 반환타입 { // 함수 본체 // 수행할 작업 return 반환값 } ``` 예제 아래는 두 개의 정수를 더하는 간단한 함수를 정의하는 예제입니다: ```go package main import "fmt" // add 함수 정의 func add(a int, b int) int { return a + b } func main() { result := add(3,

4) fmt.Println("결과:", result) // 결과: 7 } ``` 매개변수와 반환값 1. 매개변수 : 함수에 전달되는 입력값입니다.

여러 개의 매개변수를 정의할 수 있으며, 각 매개변수는 이름과 타입을 지정해야 합니다.

매개변수의 타입은 각 매개변수 뒤에 명시합니다.



2. 반환값 : 함수가 수행한 작업의 결과로 반환되는 값입니다.

반환값의 타입은 함수 정의에서 마지막에 명시합니다.

반환값이 없는 경우, 반환 타입을 생략할 수 있습니다.

여러 반환값 Go 언어는 여러 개의 반환값을 지원합니다.

아래는 두 개의 값을 반환하는 함수의 예입니다: ```go package main import "fmt" // divide 함수 정의 func divide(a int, b int) (int, int) { quotient := a / b remainder := a % b return quotient, remainder } func main() { q, r := divide(10,

3) fmt.Println("몫:", q, "나머지:", r) // 몫: 3 나머지: 1 } ``` 이름 있는 반환값 Go에서는 반환값에 이름을 붙일 수 있습니다.

이를 통해 코드의 가독성을 높이고, `return` 문에서 값을 명시적으로 지정하지 않고도 반환할 수 있습니다.

```go package main import "fmt" // namedReturn 함수 정의 func namedReturn(a int, b int) (sum int, product int) { sum = a + b product = a * b return // 이름 있는 반환값을 사용하여 sum과 product를 반환 } func main() { s, p := namedReturn(3,

4) fmt.Println("합:", s, "곱:", p) // 합: 7 곱: 12 } ``` 가변 인자 함수 Go에서는 가변 인자 함수를 정의할 수 있습니다.

이는 함수가 호출될 때 인자의 개수가 정해지지 않은 경우에 유용합니다.

가변 인자는 `...` 구문을 사용하여 정의합니다.

```go package main import "fmt" // sum 함수 정의 (가변 인자) func sum(numbers ...int) int { total := 0 for _, number := range numbers { total += number } return total } func main() { result := sum(1, 2, 3, 4,

5) fmt.Println("합계:", result) // 합계: 15 } ``` 결론 Go에서 함수는 프로그램의 중요한 구성 요소로, 다양한 방식으로 정의할 수 있습니다.

매개변수와 반환값을 통해 함수의 입력과 출력을 명확히 하고, 여러 반환값, 이름 있는 반환값, 가변 인자 등을 활용하여 더욱 유연하고 강력한 함수를 작성할 수 있습니다.

이러한 기능들은 Go 언어의 강력한 타입 시스템과 결합되어, 안전하고 효율적인 프로그래밍을 가능하게 합니다.

작성자: 최지현 [비회원] | 작성일자: 1년 전 2024-09-19 01:50:22
조회수: 202 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.