상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - Go에서 함수는 어떻게 정의하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
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 } ``` <a href='https://sangseek.com/sangseeks/가변/ko'>가변</a> 인자 함수 Go에서는 가변 인자 함수를 정의할 수 있습니다. 이는 함수가 호출될 때 인자의 <a href='https://sangseek.com/sangseeks/개수/ko'>개수</a>가 정해지지 않은 경우에 유용합니다. 가변 인자는 `...` 구문을 사용하여 정의합니다. ```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순위입니다.
수정하기
취소하기