GO에서는 func
Keyword를 사용하여 함수 이름과 매개 변수 목록을 포함하는 괄호 세트를 사용하여 함수가 정의됩니다. 함수의 본문은 곱슬 괄호 {}
로 둘러싸여 있습니다. 다음은 기능 정의의 기본 예입니다.
<code class="go">func add(a int, b int) int { return ab }</code>
이 예에서 add
int
유형의 두 매개 변수를 취하고 int
반환하는 함수입니다.
GO에서 함수를 호출하려면 기능 이름과 괄호 안의 인수를 사용하여 간단히 사용합니다. 예를 들어:
<code class="go">result := add(3, 4) fmt.Println(result) // Output: 7</code>
여기서 add
기능은 인수 3
과 4
로 호출되며 결과는 result
변수에 저장됩니다.
GO에서 기능 이름 지정은 특정 규칙을 따라 가독성과 일관성을 유지합니다. 모범 사례는 다음과 같습니다.
calculateAverage
.calcAvg
와 같은 비밀스러운 것보다 calculateAverage
따라 이름을 지정할 수 있습니다.calculate
calc
보다 선호됩니다.Add
내보내지 만 add
그렇지 않습니다.Go에서는 각각 자체 특성을 가진 다른 방법을 사용하여 기능에 인수를 전달할 수 있습니다.
값 매개 변수 : GO에서 인수를 전달하는 기본 방법은 값에 의한 것입니다. 값으로 인수를 전달하면 값의 사본이 만들어지고 함수로 전달됩니다. 함수 내부의 매개 변수 변경은 함수 외부의 원래 값에 영향을 미치지 않습니다.
<code class="go">func incrementByValue(x int) { x } a := 1 incrementByValue(a) fmt.Println(a) // Output: 1 (a remains unchanged)</code>
포인터 매개 변수 : 포인터를 값으로 전달할 수 있습니다. 이를 통해 함수는 원래 값을 수정할 수 있습니다.
<code class="go">func incrementByPointer(x *int) { (*x) } a := 1 incrementByPointer(&a) fmt.Println(a) // Output: 2 (a is modified)</code>
변수 매개 변수 : GO는 변수 함수를 지원하며 동일한 유형의 무기한 수의 인수를 받아 들일 수 있습니다. variadic 매개 변수는 유형 이전에 ...
됩니다.
<code class="go">func sum(numbers ...int) int { total := 0 for _, num := range numbers { total = num } return total } fmt.Println(sum(1, 2, 3, 4)) // Output: 10</code>
GO 함수의 반환 값은 기능이 발신자에게 결과를 다시 전달할 수 있도록하는 데 중요한 역할을합니다. GO의 반환 값에 대한 핵심 사항은 다음과 같습니다.
단일 반환 값 : 함수는 단일 값을 반환 할 수 있습니다. 리턴 유형은 매개 변수 목록에 지정됩니다.
<code class="go">func square(x int) int { return x * x }</code>
다중 반환 값 : GO를 사용하면 기능이 여러 값을 반환 할 수 있습니다. 결과와 오류를 모두 반환하는 데 유용합니다.
<code class="go">func divide(a, b float64) (float64, error) { if b == 0 { return 0, errors.New("division by zero") } return a / b, nil } result, err := divide(10, 2) if err != nil { fmt.Println(err) } else { fmt.Println(result) // Output: 5 }</code>
이름이 지정된 반환 값 : GO는 이름이 지정된 리턴 값을 지원하여 코드를 더 읽기 쉽게 만들 수 있습니다. 이름이 지정된 반환 값은 함수 서명의 일부로 선언됩니다.
<code class="go">func namedReturn(x int) (result int) { result = x * x return }</code>
Bare Return : 이름이 지정된 반환 값을 사용할 때 Go를 사용하면 Nare return
문을 사용하여 이름이 지정된 반환 값을 반환합니다.
<code class="go">func namedReturnWithBareReturn(x int) (result int) { result = x * x return // equivalent to return result }</code>
반환 값은 오류 처리에 중요하므로 기능이 결과와 오류 상태를 모두 반환 할 수 있습니다. 이는 GO 프로그래밍의 일반적인 패턴입니다.
위 내용은 GO에서 기능을 어떻게 정의하고 호출합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!