답변: Go 함수에는 기본 유형(매개변수 없는 유형과 반환 유형), 매개변수 유형, 반환 유형, 가변 유형, 매개변수 유형으로서의 함수 등 다양한 유형이 있습니다. 자세한 설명: 기본 유형 함수: 매개변수 또는 반환 유형이 없으며 초기화 또는 간단한 작업 수행에 사용됩니다. 매개변수를 허용하는 함수: 지정된 유형의 매개변수를 허용하며 매개변수 유형은 함수 시그니처에 지정됩니다. 값을 반환하는 함수: 지정된 유형의 여러 값을 반환할 수 있으며 반환 값 유형은 함수 시그니처에 지정됩니다. 가변 함수: 조각으로 수집된 가변 개수의 인수를 허용하려면 ... 구문을 사용합니다. 매개변수로서의 함수: 함수를 처리하거나 작동하는 데 사용되는 고차 함수라고 하는 매개변수로서의 함수를 지원합니다.
Go 함수의 기본 유형
Go 언어에서 함수는 다양한 유형을 가질 수 있으며 이러한 유형은 함수의 매개변수와 반환 유형을 정의합니다. 이러한 기본 유형을 이해하는 것은 명확하고 효율적인 Go 코드를 작성하는 데 중요합니다.
1. 기본형 함수
가장 기본적인 형태의 함수에는 매개변수나 반환형이 없습니다. 이러한 함수는 일반적으로 데이터를 초기화하거나 간단한 작업을 수행하는 데 사용됩니다.
func hello() { fmt.Println("Hello, world!") }
2. 매개변수를 허용하는 함수
함수는 하나 이상의 매개변수를 허용할 수 있습니다. 매개변수 유형은 함수 서명의 유형에 따라 지정됩니다.
func sum(a, b int) int { return a + b }
3. 값을 반환하는 함수
함수는 하나 이상의 값을 반환할 수 있습니다. 반환 유형은 함수 서명의 마지막 부분에 지정됩니다.
func min(a, b int) (int, error) { if a < b { return a, nil } return b, errors.New("b is not less than a") }
4. 가변 매개변수 함수
함수는 ...
구문을 사용하여 가변 개수의 매개변수를 허용할 수 있습니다. 매개변수는 []T
유형의 조각으로 수집됩니다. 여기서 T
는 매개변수 유형입니다. ...
语法来接受可变数量的参数。这些参数被收集到一个切片中,其类型为 []T
,其中 T
是参数类型。
func printAll(strs ...string) { for _, str := range strs { fmt.Println(str) } }
5. 函数作为参数
Go 语言支持函数作为参数的函数,称为高阶函数。高阶函数通常用于处理函数或对函数进行操作。
func forEach(f func(int), nums []int) { for _, num := range nums { f(num) } }
实战案例
考虑一个将命令行参数相加的程序:
package main import ( "fmt" "os" "strconv" ) func main() { args := os.Args[1:] var sum int for _, arg := range args { num, err := strconv.Atoi(arg) if err != nil { fmt.Printf("%s is not a valid number\n", arg) continue } sum += num } fmt.Printf("Sum: %d\n", sum) }
此程序使用 fmt.Atoi
rrreee
fmt.Atoi
를 사용하여 명령줄 인수를 정수로 변환하고 추가합니다. 함수를 인수로 사용하여 각 인수를 처리하고 기본 합계 논리에서 오류 처리를 분리합니다. 🎜위 내용은 golang 함수의 기본 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!