Go 언어는 객체 지향 프로그래밍을 지원하는 언어입니다. 객체 지향 프로그래밍에서 객체에는 속성과 메서드가 포함됩니다. 구조를 정의할 때 속성 유형을 정의할 수 있을 뿐만 아니라 구조에 더 많은 기능을 제공하기 위해 구조에 메소드를 할당할 수도 있습니다. 이번 글에서는 Go 언어의 구조체에 값을 할당하는 방법을 소개하겠습니다.
구조 정의
Go 언어에서는 키워드 유형을 사용하여 구조를 정의합니다. 예를 들어, 학생 구조를 정의합니다:
type Student struct { Name string Age int Address string Phone string }
이 구조에는 학생의 이름, 나이, 주소 및 전화번호가 포함됩니다.
Define method
메서드의 형식은 다음과 같습니다.
func (s Student) methodName() { // 方法实现 }
그 중 func는 함수 정의를 나타내며 괄호 안의 s Student는 이 메서드가 Student 구조에 속함을 나타냅니다. 메소드 이름은 대문자로 시작해야 하며, 이는 공개 메소드임을 나타냅니다. 중괄호는 메소드의 구현 내용입니다.
이제 학생 정보를 표시하기 위해 학생 구조에 display() 메소드를 정의합니다.
func (s Student) display() { fmt.Printf("Name: %s Age: %d Address: %s Phone: %s ", s.Name, s.Age, s.Address, s.Phone) }
이 메소드에서는 Printf 함수를 사용하여 학생의 이름, 나이, 주소 및 전화번호를 출력합니다. 구조의 속성은 메소드에서 직접 사용될 수 있습니다.
구조에 메서드 할당
구조와 메서드를 정의한 후에는 구조에 메서드를 할당할 수 있습니다. Go 언어에서는 type 키워드와 func 키워드를 사용하여 구조 유형에 대한 메서드를 정의할 수 있습니다. 예를 들어, Student 구조에 display() 메소드를 할당합니다:
type Student struct { Name string Age int Address string Phone string } func (s Student) display() { fmt.Printf("Name: %s Age: %d Address: %s Phone: %s ", s.Name, s.Age, s.Address, s.Phone) }
여기의 코드는 구조 정의와 메소드 정의가 함께 병합된다는 점을 제외하면 이전 코드와 동일합니다. 이제 Student 유형의 변수 s를 만들고 해당 디스플레이() 메서드를 호출합니다.
s := Student{"Tom", 18, "Beijing, China", "123456789"} s.display()
여기 코드는 s라는 학생 개체를 만들고 해당 디스플레이() 메서드를 호출합니다. 이 코드 줄을 실행하면 콘솔에 다음이 출력됩니다.
Name: Tom Age: 18 Address: Beijing, China Phone: 123456789
구조 메서드는 구조의 속성에 액세스할 수 있으므로 구조의 데이터를 더 쉽게 조작할 수 있습니다. 이 글을 통해 Golang 메소드 할당의 개념과 적용에 대해 더 깊은 이해를 얻을 수 있기를 바랍니다.
위 내용은 골랭 메소드 할당의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!