php, C#, Dart 등과 같은 다른 언어를 사용한다면 클래스 메서드를 만드는 데 익숙할 것입니다. 일반적으로 이러한 메서드는 해당 클래스에 대해 하나의 작업을 구현합니다. 이러한 OOP 언어에서는 클래스 범위에서 다음과 같은 메서드를 만듭니다.
class ClassName{ .... function functionName(){ // perform action } }
Go에서는 먼저 구조체를 만든 다음 수신자를 연결하여 구조체에 대한 특정 작업을 수행할 수 있습니다. 예를 들어, 사용자의 전체 이름을 반환하는 메소드를 원하는 모델 User가 있습니다.
type myUser struct{ FirstName string LastName string PostalCode string DateOfBirth time.Time }
위에서 FirstName, LastName ....과 같은 다양한 속성을 가진 User 유형을 생성했습니다. 이 경우에는 전체 이름 형식을 반환하는 'myUser' 유형에 대해 특별한 작업을 수행하는 메서드를 원합니다. 명시된 속성 FirstName,LastName.
문자열을 반환하는 수신자 함수 전체 이름을 만들 수 있습니다.
func (user *myUser) fullname() (string, string){ return user.FirstName ,user.LastName }
이것을 어떻게 사용할 수 있나요? 이것이 어떻게 작동하는지 알아보기 위해 main 함수에서 직접 테스트할 수 있습니다.
func main() { user := myUser{ FirstName: "Felix", LastName: "chi", } fmt.Println(user.fullname()) }
따라서 myUser 구조체에 대한 수신자 메서드를 성공적으로 만들었습니다. 전체 송가는 다음과 같습니다:
package main import ( "fmt" "time" ) type myUser struct { FirstName string LastName string PostalCode string DateOfBirth time.Time } func (user *myUser) fullname() (string, string) { return user.FirstName, user.LastName } func main() { user := myUser{ FirstName: "Felix", LastName: "chi", } fmt.Println(user.fullname()) }
그럼 다음은요? https://go.dev/play/에 코드를 붙여넣어 실제로 어떻게 작동하는지 확인해 보세요. 다음 게시물에서 확인하세요...!!!!
위 내용은 Golang의 구조체에 함수를 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!