이름이 지정된 유형의 호출 방법
시간 주위의 래퍼인 StartTime이라는 이름이 지정된 유형을 만들었습니다. JSON 역마샬링을 위한 시간입니다. . 그러나 StartTime 인스턴스에서는 Date()와 같은 time.Time 메서드를 호출할 수 없습니다.
이는 type 키워드를 사용하여 사실상 새로운 유형을 생성했기 때문입니다. 기존 time.Time 유형을 확장합니다. 자신만의 메소드를 추가하는 동안 원래 메소드를 유지하려면 유형 임베딩을 사용해야 합니다.
type StartTime struct { time.Time }
임베딩을 사용하면 포함된 유형(이 경우 time.Time)의 필드와 메소드가 "승격"되고 다음과 같은 작업을 수행할 수 있습니다. 명명된 유형(StartTime)에서 액세스할 수 있습니다. 따라서 이제 myStartTime.Date()를 호출할 수 있습니다.
예:
package main import ( "fmt" "time" ) type StartTime struct { time.Time } func main() { s := StartTime{time.Now()} fmt.Println(s.Date()) }
출력:
2009 November 10
위 내용은 Go에서 사용자 정의 유형에 대해 time.Time 메소드를 어떻게 호출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!