Golang의 구조체 필드에 기본값을 할당하는 방법은 무엇입니까?

Golang Ui Gujoche Pildeue Gibongabs Eul Haldanghaneun Bangbeob Eun Mueos Ibnikka



Golang은 최근 몇 년 동안 인기를 얻은 최신 프로그래밍 언어입니다. Golang의 강력한 기능 중 하나는 구조체를 정의하고 조작하는 기능입니다. 구조체 개발자가 관련 데이터 필드를 단일 개체로 그룹화할 수 있는 사용자 정의 데이터 유형입니다. 이동 중, 구조체 가질 수 있다 기본값 필드에 할당되어 훨씬 쉽게 초기화할 수 있습니다.

이 에세이에서 우리는 기본값 Golang의 구조체 필드의 경우.

구조체 필드란 무엇입니까?

첫째, 의 개념을 이해하는 것이 필수적이다. 구조체 필드 . 그만큼 구조체 필드 를 형성하기 위해 그룹화되는 변수입니다. 구조체 물체. 각 구조체 필드 이름과 데이터 유형이 있습니다. 예를 들어 사람을 나타내는 구조체에는 이름, 나이, 성별과 같은 필드가 있을 수 있습니다.







Golang의 구조체 필드에 기본값을 할당하는 방법은 무엇입니까?

기본값 다음을 사용하여 Go의 구조체 필드에 할당할 수 있습니다.



  • 기본 0 값
  • 생성자
  • 구조체 리터럴
  • 기본 필드 값

1: 기본 0 값

Go에서 구조체 필드에 기본값을 할당하는 것은 ' 제로 값 ' 특징. 이 기능은 자동으로 ' 0 ' 또는 ' 거짓 ” 데이터 유형에 따라 초기화되지 않은 모든 필드에. 이는 Go가 자동으로 수행하므로 구조체의 각 필드에 대해 명시적으로 기본값을 설정할 필요가 없음을 의미합니다.



이 기능은 각 필드의 기본값을 수동으로 설정하는 시간과 노력을 절약하므로 필드가 많은 대형 구조체를 처리할 때 유용할 수 있습니다.





다음은 0 값을 사용하여 구조체 필드에 기본값을 할당하는 예입니다.

패키지 메인

수입 'fmt'

유형 사람 구조체 {
이름 문자열
연령 정수
높이 float64
IsMale 부울
}

기능 메인 ( ) {
p1 := 사람 { 이름: '남자' , 나이: 30 }
fmt.Println ( p1.이름 )
fmt.Println ( p1.나이 )
fmt.Println ( p1.높이 )
fmt.Println ( p1.IsMale )
}

위의 코드는 Person을 정의합니다. 구조체 이름, 나이, 키 및 IsMale의 네 가지 필드가 있으며 모두 bool 데이터 유형입니다. 그런 다음 Person 클래스 p1의 새 인스턴스를 만들고 구조체 리터럴을 사용하여 필드 이름과 값을 지정하여 일부 필드를 초기화합니다. 그만큼 기본 0 값 초기화 중에 명시적으로 설정되지 않은 필드는 다음을 사용하여 필드 값을 인쇄할 때 표시됩니다. fmt.Println .



산출

2: 생성자

작성하여 건설자 함수에 대해 Golang의 구조체 필드에 기본값을 제공할 수도 있습니다. 그만큼 건설자 함수는 구조체의 새 인스턴스를 만들고 해당 필드의 기본값을 설정합니다. 이 방법은 특히 수많은 필드가 있는 거대한 구조체와 상호 작용할 때 노력과 시간을 절약합니다.

다음은 a를 정의하는 방법의 예입니다. 건설자 구조체에 대한 기본 필드 값이 있는 함수:

패키지 메인

수입 'fmt'

유형 사람 구조체 {
이름 문자열
나이 정수
주소 문자열
}
함수 NewPerson ( ) * 사람 {
반품 & 사람 {
이름: '존 도우' ,
나이: 30 ,
주소: '123 메인 스트리트' ,
}
}
기능 메인 ( ) {
p := 새 사람 ( )
fmt.Println ( p.이름, p.나이, p.주소 )
}

위의 코드에서 사람 구조체가 정의되어 있을 뿐만 아니라 새사람() 새로운 인스턴스를 생성하는 함수 사람 미리 결정된 기본값을 가진 구조체. 우리는 전화 새사람() ~에 기본() 다음을 사용하여 새로운 Person 인스턴스를 생성합니다. 기본 필드 값 , 그런 다음 해당 인스턴스의 필드 값을 출력합니다.

산출

3: 구조체 리터럴

Golang에서는 다음을 사용하여 구조체 필드의 기본값을 설정할 수 있습니다. 구조체 리터럴 또한. 구조체의 새 인스턴스를 구성하고 초기화해야 하는 각 필드의 값을 설정하기만 하면 됩니다. 명시적으로 초기화하지 않은 필드에 기본값을 설정하려는 경우 값이 0인 기능을 사용할 수 있습니다.

다음은 사용 방법의 예입니다. 구조체 리터럴 구조체의 기본 필드 값을 설정하려면:

패키지 메인

수입 'fmt'

유형 사람 구조체 {
이름 문자열
나이 정수
주소 문자열
}
기능 메인 ( ) {
p := 사람 {
이름: '존 도우' ,
나이: 30 ,
}
fmt.Println ( p.이름, p.나이, p.주소 )
}

위의 코드에서 우리는 사람 이 예제에서는 struct를 사용하고 구조체 리터럴과 해당 필드의 기본값을 사용하여 새 인스턴스를 만듭니다. 새로운 사람 인스턴스는 일부 필드 값이 채워지고 나머지는 비어 있는 상태로 main()에서 생성됩니다. 이후 주소 필드가 초기화되지 않으면 이 필드의 기본값인 빈 문자열을 받습니다. 마지막으로 Person 인스턴스의 필드 값을 인쇄합니다.

산출

4: 기본 필드 값

할당 기본값 에게 구조체 필드 Go에서는 간단한 프로세스입니다. 그만큼 기본값 구조체 필드의 경우 구문을 사용하여 설정할 수 있습니다. 필드 이름:기본값 . 예를 들어 다음 구조체 정의를 고려하십시오.

유형 사람 구조체 {
이름 문자열
나이 int
성별 문자열
}

할당하려면 기본값 이 구조체의 필드에 다음 구문을 사용할 수 있습니다.

p := 사람 {
이름: '존 도우' ,
나이: 30 ,
성별: '남성' ,
}

위의 예에서 우리는 기본값 Person 구조체의 필드에. 초기화 중에 값을 생략하면 기본값 대신 사용됩니다. 예를 들어 Person 객체를 다음과 같이 초기화하면:

p := 사람 {
이름: '제인 도' ,
}

결과 Person 개체는 다음을 갖습니다. 기본값 Age 및 Gender 필드의 경우 각각 0과 빈 문자열입니다.

위의 프로세스를 설명하는 전체 코드는 다음과 같습니다.

패키지 메인
수입 'fmt'

유형 사람 구조체 {
이름 문자열
연령 정수
성별 문자열
}
기능 메인 ( ) {
p1 := 사람 {
이름: '존 도우' ,
나이: 30 ,
성별: '남성' ,
}
fmt.Println ( p1 )

p2 := 사람 {
이름: '제레미' ,
}
fmt.Println ( p2 )
}

위의 예에서 우리는 세 개의 필드가 있는 Person 구조체를 만듭니다. Name, 나이를 나타내는 int 및 Gender, 성별을 나타내는 문자열입니다. 그런 다음 구조체 초기화 구문을 사용하여 두 개의 Person 인스턴스(p1 및 p2)를 생성합니다. p1은 Name은 'John Doe', Age는 '30', Gender는 'Male' 값으로 초기화되며 모두 명시적으로 제공되는 값입니다. Age와 Gender에 대한 값을 지정하지 않았으므로 각각 기본값 0과 빈 문자열이 할당됩니다. p2는 처음에 제공된 Name 필드로만 초기화됩니다.

산출

결론

할당 기본값 Go에서 이 언어를 사용한 프로그래밍의 필수 요소입니다. 생성된 모든 구조체 인스턴스에 할당된 기본 데이터가 있는지 확인하는 데 도움이 됩니다. 위에서 설명한 방법 중 하나를 사용하여 개발자는 기본값 구조체 필드의 효율적.