>  기사  >  백엔드 개발  >  Go 언어에서 구조체의 멤버 변수를 초기화하는 방법

Go 언어에서 구조체의 멤버 변수를 초기화하는 방법

青灯夜游
青灯夜游원래의
2021-06-07 15:31:213355검색

초기화 방법: 1. "ins := 구조체 유형 이름 {필드 1: 값, 필드 2: 값,...}" 문을 사용하여 초기화합니다. 이는 많은 필드로 구조체를 선택적으로 채우는 데 적합합니다. "ins : = 구조 유형 이름 {필드 1의 값, 필드 2의 값,...}" 문 초기화, 더 적은 수의 필드가 있는 구조에 적합합니다.

Go 언어에서 구조체의 멤버 변수를 초기화하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, GO 1.11.2, Dell G3 컴퓨터.

구조체는 인스턴스화 시 멤버 변수를 직접 초기화할 수 있습니다. 필드 "키-값 쌍"과 여러 값 목록의 초기화는 필드를 선택적으로 채우는 데 적합합니다. 더 많은 구조와 여러 값의 목록 형식은 채워진 필드가 더 적은 구조에 적합합니다.

"키 값 쌍"을 사용하여 구조 초기화

구조는 "키 값 쌍"(키 값 쌍)을 사용하여 필드를 초기화할 수 있습니다. 키의 "값"은 필드를 초기화해야 하는 값에 해당합니다.

키-값 쌍 채우기는 선택 사항이며, 초기화할 필요가 없는 필드는 초기화 목록에 채울 필요가 없습니다.

구조가 인스턴스화된 후 필드의 기본값은 필드 유형의 기본값입니다. 예를 들어 값은 0, 문자열은 ""(빈 문자열), 부울은 false, 포인터는 nil, 등.

1) 키-값 쌍 초기화 구조 작성 형식

키-값 쌍 초기화 형식은 다음과 같습니다.

ins := 结构体类型名{
    字段1: 字段1的值,
    字段2: 字段2的值,
    …
}

다음은 각 부분에 대한 설명입니다.

  • 구조 유형: 유형 구조 이름을 정의할 때.

  • 필드 1, 필드 2: 구조 멤버의 필드 이름, 필드 이름은 구조 유형 이름의 필드 초기화 목록에 한 번만 나타날 수 있습니다.

  • 필드 1의 값, 필드 2의 값: 구조체 멤버 필드의 초기 값입니다.

키 값은 :分隔,键值对之间以,로 구분됩니다.

2) 키-값 쌍을 사용하여 구조를 채우는 예

다음 예는 동요 "아빠 아빠는 할아버지"처럼 가족 내 인물 간의 관계를 설명합니다. 문자 간 사용 연결을 설명하고 설정하기 위해 키-값 쌍의 형태로 구조를 채우는 코드는 다음과 같습니다.

type People struct {
    name  string
    child *People
}
relation := &People{
    name: "爷爷",
    child: &People{
        name: "爸爸",
        child: &People{
                name: "我",
        },
    },
}

코드 설명은 다음과 같습니다.

  • 라인 1은 People 구조를 정의합니다.

  • 라인 2, 구조체의 문자열 필드.

  • 라인 3, 구조의 구조 포인터 필드, 유형은 *People입니다.

  • 6번째 줄, 관계가 People 유형에서 주소를 가져온 후 *People 유형의 인스턴스가 형성됩니다.

  • 8번째 줄, 자식을 초기화할 때 *People 유형의 값이 필요하며 주소를 사용하여 People을 초기화합니다.

팁: 구조 멤버는 구조의 포인터 유형만 포함할 수 있습니다. 포인터가 아닌 유형을 포함하면 컴파일 오류가 발생합니다.

여러 값 목록을 사용하여 구조 초기화

Go 언어는 "키-값 쌍" 초기화를 기반으로 "키"를 무시할 수 있습니다. 즉, 여러 값 목록을 사용할 수 있습니다. 값을 사용하여 구조체 필드를 초기화합니다.

1) 다중 값 목록 초기화 구조의 작성 형식

쉼표를 사용하여 여러 값을 구분하여 구조를 초기화합니다. 예:

ins := 结构体类型名{
    字段1的值,
    字段2的值,
    …
}

이 형식을 사용하여 초기화할 때 주의해야 할 사항:

  • 구조체의 모든 필드를 초기화해야 합니다.

  • 각 초기값의 채우기 순서는 구조체의 필드 선언 순서와 일치해야 합니다.

  • 키-값 쌍과 값 목록의 초기화 형식은 혼합될 수 없습니다.

2) 다중 값 목록 초기화 구조의 예

다음 예는 주소 구조를 설명하며 주소는 특정 순서로 되어 있어야 합니다. 예를 들어:

type Address struct {
    Province    string
    City        string
    ZipCode     int
    PhoneNumber string
}
addr := Address{
    "四川",
    "成都",
    610000,
    "0",
}
fmt.Println(addr)

코드를 실행하면 출력은 다음과 같습니다.

{四川 成都 610000 0}

추천 학습: Golang Tutorial

위 내용은 Go 언어에서 구조체의 멤버 변수를 초기화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.