Golang
[Golang] 4. 함수(Function)
comnic
2023. 12. 29. 08:04
반응형
4. 함수
4.1 함수 정의와 호출
Go에서 함수는 코드를 모듈화하고 재사용 가능한 단위로 분리하는데 사용됩니다. 함수를 정의하고 호출하는 기본적인 예제는 다음과 같습니다.
package main
import "fmt"
// add 함수 정의 (매개변수 a, b는 정수형, 반환값은 정수형)
func add(a, b int) int {
return a + b
}
// greet 함수 정의 (매개변수 name은 문자열, 반환값은 문자열)
func greet(name string) string {
return "Hello, " + name + "!"
}
func main() {
// 함수 호출
result := add(3, 7)
fmt.Println("Result of addition:", result)
greeting := greet("Alice")
fmt.Println(greeting)
}
4.2 다양한 매개변수와 반환 값
Go에서 함수는 여러 개의 매개변수와 반환 값을 가질 수 있습니다. 다양한 형식의 함수를 살펴봅시다.
package main
import "fmt"
// multiply 함수 정의 (매개변수 a, b는 정수형, 반환값은 정수형)
func multiply(a, b int) int {
return a * b
}
// divide 함수 정의 (매개변수 a, b는 정수형, 반환값은 정수형과 나머지)
func divide(a, b int) (int, int) {
quotient := a / b
remainder := a % b
return quotient, remainder
}
func main() {
// 다양한 매개변수와 반환 값 사용
product := multiply(4, 5)
fmt.Println("Product:", product)
quotient, remainder := divide(10, 3)
fmt.Println("Quotient:", quotient)
fmt.Println("Remainder:", remainder)
}
4.3 익명 함수와 클로저
익명 함수는 이름이 없는 함수로, 주로 간단한 로직을 즉석에서 정의하여 사용할 때 유용합니다. 클로저는 함수와 그 함수가 참조하는 변수를 함께 포함한 개념입니다.
package main
import "fmt"
func main() {
// 익명 함수 (변수에 할당하여 사용)
add := func(a, b int) int {
return a + b
}
result := add(3, 7)
fmt.Println("Result of addition:", result)
// 클로저 예제
base := 10
addWithBase := func(x int) int {
return x + base
}
resultWithBase := addWithBase(5)
fmt.Println("Result with base:", resultWithBase)
}
이러한 함수의 다양한 활용을 통해 코드를 모듈화하고 재사용성을 높일 수 있습니다. 함수는 Go 언어에서 중요한 개념 중 하나이며, 유연하고 강력한 기능을 제공합니다.
반응형