>백엔드 개발 >Golang >Go Type의 사용 시나리오에 대해 이야기해 보겠습니다.

Go Type의 사용 시나리오에 대해 이야기해 보겠습니다.

藏色散人
藏色散人앞으로
2021-10-26 17:07:012544검색

이 글은 Go Type의 사용 시나리오를 소개하기 위해 go 언어 튜토리얼 칼럼에서 작성한 것입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Go 유형 사용 시나리오

유형 사용 시나리오

1. 구조 정의

// 定义商标结构
//将Brand定义为如下的结构体类型
type Brand struct {
}
// 为商标结构添加Show()方法
func (t Brand) Show() {
}

2. 별칭 만들기

Go 1.9 이전에는 내장 유형을 정의하는 코드가 다음과 같이 작성되었습니다.

이제 Go 1.9 버전에서는 다음과 같이 됩니다.

type byte uint8
type rune int32

유형 별칭과 유형 정의 구별

type byte = uint8
type rune = int32

구조의 대량 정의

// 将NewInt定义为int类型
type NewInt int
// 将int取一个别名叫IntAlias
type IntAlias = int
func main() {
    // 将a声明为NewInt类型
    var a NewInt
    // 查看a的类型名
    fmt.Printf("a type: %T\n", a)
    // 将a2声明为IntAlias类型
    var a2 IntAlias
    // 查看a2的类型名
    fmt.Printf("a2 type: %T\n", a2)
}
a type: main.NewInt
a2 type: int

구조의 단일 정의

type (
    // A PrivateKeyConf is a private key config.
    PrivateKeyConf struct {
        Fingerprint string
        KeyFile     string
    }
    // A SignatureConf is a signature config.
    SignatureConf struct {
        Strict      bool          `json:",default=false"`
        Expiry      time.Duration `json:",default=1h"`
        PrivateKeys []PrivateKeyConf
    }
)

위 내용은 Go Type의 사용 시나리오에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제