Golang은 메소드와 기능의 개념을 포함하여 정교한 디자인이 많이 포함된 현대 프로그래밍 언어입니다. 메소드와 함수는 Golang 프로그래머가 반드시 알아야 할 기본 개념입니다. 이 기사에서는 유사점과 차이점을 자세히 설명합니다.
1. 함수
함수는 Golang 프로그램의 기본 구성 요소 중 하나입니다. 함수 이름, 매개변수 목록, 반환 값 유형 및 함수 본문으로 구성됩니다.
func 函数名(参数列表)(返回值类型){ 函数体 }
다음은 간단한 예입니다.
func sum(a int, b int) int { return a + b }이 함수는 sum이라고 합니다. int 유형의 두 매개변수 a와 b가 필요하며 반환 값 유형은 int입니다. 함수 본문에는 a와 b의 합계를 반환하는 return 문이 포함되어 있습니다. 함수는 다음과 같이 호출됩니다.
c := sum(1, 2) //c的值为32. 메서드 메서드는 특정 유형과 관련된 함수입니다. Golang의 접근 방식은 유형별 함수 정의를 자신의 유형에 배치하여 이러한 함수가 해당 유형의 모든 인스턴스에서 호출되도록 하는 것입니다. 메서드는 함수와 유사하게 정의되지만 추가 수신자 매개변수가 있습니다. 호출할 값 유형을 메소드에 알려줍니다. 메소드의 일반 구문은 다음과 같습니다.
func (接收器变量 接收器类型) 方法名(参数列表)(返回值类型){ 函数体 }간단한 예는 다음과 같습니다.
type Person struct { Name string Age int } func (p Person) SayHello() string { return "Hello, my name is " + p.Name } func main() { p := Person{Name: "Tom", Age: 18} fmt.Println(p.SayHello()) //输出结果为 "Hello, my name is Tom" }이 예에서는 Person 유형의 구조를 정의하고 여기에 SayHello 메소드를 정의합니다. 이 메서드는 수신자 유형을 Person 유형으로 설정하여 해당 메서드가 모든 인스턴스에서 호출됨을 나타냅니다. p라는 Person 인스턴스를 만든 다음 SayHello 메서드를 호출합니다. 인스턴스 이름을 나타내는 문자열을 반환합니다. 3. 함수와 메소드의 차이점
위 내용은 golang 메소드 및 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!