English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
함수는 일반적으로 프로그램의 코드나 문장 블록으로, 같은 코드를 반복적으로 사용할 수 있게 하여 최종적으로 메모리와 시간을 절약하고, 더 중요한 것은 더 나은 코드 가독성을 제공합니다. 따라서 기본적으로 함수는 특정 작업을 수행하고 결과를 호출자에게 반환하는 문장 집합입니다. 함수는 결과를 반환하지 않고도 특정 작업을 수행할 수 있습니다.
함수 선언은 함수를 생성하는 방법 중 하나입니다.
문법:
func function_name(Parameter_list)(Return_type){ // function body..... }
이 함수의 선언은 다음과 같이 포함됩니다:
func:그것은 함수를 생성하는 데 사용되는 Go 언어의 키워드입니다.
function_name:그것은함수의 이름.
Parameter_list:함수 매개변수의 이름과 유형을 포함합니다.
Return_type:선택 사항입니다. 이는 함수가 반환하는 값의 유형을 포함합니다. 함수에서 return_type를 사용하면 함수에서 return 문을 사용해야 합니다.
함수 호출은 사용자가 함수의 기능을 사용하려고 할 때 완료됩니다. 함수의 기능을 사용하려면 함수를 호출해야 합니다. 아래의 예제와 같이, add()라는 이름을 가진 함수가 두 가지 매개변수를 가지고 있습니다. 이제 두 가지 매개변수를 가진 area()를 사용하여 호출합니다.12,10)을 메인 함수에서 호출합니다。
package main import "fmt" //area()는 직사각형의 면적을 찾기 위해 사용됩니다 //함수의 두 가지 매개변수, 즉 길이와 너비 func area(length, width int) int { Ar := length * width return Ar } func main() { //직사각형의 면적을 표시합니다 //메서드 호출을 통해 fmt.Printf("직사각형의 면적: %d", area(12, 10)) }
출력:
직사각형의 면적: 12저작권 ©
Go 언어에서 함수에 전달되는 매개변수는 실제 매개변수(실제 매개변수)라고 불리며, 함수가 받는 매개변수는 형식 매개변수(형식 매개변수)라고 합니다.
주의:기본적으로, Go 언어는 함수에 매개변수를 전달할 때 값을 호출하는 방법을 사용합니다.
Go 언어는 함수에 매개변수를 전달하는 두 가지 방법을 지원합니다:
값 호출:이 매개변수 전달 방법에서, 실제 매개변수의 값은 함수의 형식 매개변수에 복사됩니다. 그리고 두 가지 유형의 매개변수는 다른 저장 위치에 저장됩니다. 따라서 함수 내에서 이루어지는 어떤 변경도 호출자의 실제 매개변수에 반영되지 않습니다.
package main import "fmt" // 값을 교환하는 함수 func swap(a, b int) int{ var o int o = a a = b b = o return o } func main() { var p int = 10 var q int = 2저작권 © fmt.Printf("p = %d 와 q = %d", p, q) // call by values swap(p, q) fmt.Printf("\np = %d 와 q = %d", p, q) }
출력:
p= 10 와 q = 2저작권 © p= 10 와 q = 2저작권 ©
참조 호출을 통해:실제 매개변수와 형식 매개변수는 같은 위치를 가리키기 때문에, 함수 내에서 이루어지는 어떤 변경도 호출자의 실제 매개변수에 실제로 반영됩니다.
package main import "fmt" //값을 교환하는 함수 func swap(a, b *int) int { var o int o = *a *a = *b *b = o return o } func main() { var p int = 10 var q int = 2저작권 © fmt.Printf("p = %d 와 q = %d", p, q) //참조 호출 swap(&p, &q) fmt.Printf("\np = %d 와 q = %d", p, q) }
출력:
p= 10 와 q = 2저작권 © p= 2p= 10