GO에서 구조물은 다른 유형의 값을 단일 장치로 0 개 이상 그룹화하는 복합 데이터 유형입니다. Structs는 다양한 필드를 보유 할 수있는 사용자 정의 데이터 유형을 만드는 데 사용되므로보다 구성적이고 구조화 된 데이터 표현이 가능합니다.
GO에서 구조물을 정의하려면 struct
키워드와 구조물의 필드를 포함하는 곱슬 버팀대 세트를 사용합니다. 각 필드에는 이름과 유형이 있습니다. 구조물을 정의하는 방법의 예는 다음과 같습니다.
<code class="go">type Person struct { Name string Age int Email string }</code>
구조물을 정의한 후에는 구조물을 인스턴스를 만들어 프로그램에서 사용할 수 있습니다. 다음은 Person
Struct를 만들고 사용하는 방법입니다.
<code class="go">func main() { // Creating a new Person instance person := Person{ Name: "John Doe", Age: 30, Email: "john.doe@example.com", } // Using the fields of the struct fmt.Printf("Name: %s, Age: %d, Email: %s\n", person.Name, person.Age, person.Email) }</code>
이 예에서는 새로운 Person
인스턴스를 생성하고 필드를 초기화합니다. 그런 다음이 필드에 액세스하여 사람의 정보를 인쇄하는 데 사용합니다.
GO에서 스트러크를 사용하면 몇 가지 이점이 있습니다.
GO에서 구조물을 초기화하려면 몇 가지 방법을 사용할 수 있습니다.
필드 별 초기화 :
각 필드의 값을 명시 적으로 지정하여 구조물을 초기화 할 수 있습니다.
<code class="go">person := Person{ Name: "John Doe", Age: 30, Email: "john.doe@example.com", }</code>
위치 초기화 :
구조물에 정의 된 순서대로 값을 제공하여 구조물을 초기화 할 수도 있습니다.
<code class="go">person := Person{"John Doe", 30, "john.doe@example.com"}</code>
제로 값 초기화 :
모든 필드에 대한 값을 지정하지 않으면 GO는 자동으로 0 값으로 설정합니다.
<code class="go">person := Person{Name: "John Doe"} // person.Age will be 0, and person.Email will be an empty string</code>
구조물 내의 필드에 액세스하려면 DOT 표기법 ( structName.fieldName
)을 사용합니다. 예는 다음과 같습니다.
<code class="go">fmt.Println(person.Name) // Output: John Doe fmt.Println(person.Age) // Output: 30 fmt.Println(person.Email) // Output: john.doe@example.com</code>
동일한 표기법을 사용하여 구조물 필드를 수정할 수도 있습니다.
<code class="go">person.Age = 31 fmt.Println(person.Age) // Output: 31</code>
GO에서 익명 필드 (임베디드 필드라고도 함)는 이름없이 정의 된 구조물의 필드이며 유형 만 지정합니다. 유형 자체는 필드 이름 역할을합니다. 이 개념을 사용하면 하나의 구조물을 다른 구조물 내에 포함시킬 수 있으며, 이는 임베디드 구조물의 필드에 대한 액세스를 단순화 할 수 있습니다.
익명 필드로 구조물을 정의하는 방법은 다음과 같습니다.
<code class="go">type Address struct { Street string City string Country string } type Person struct { Name string Age int Address // Anonymous field }</code>
Person
Struct의 인스턴스를 생성하면 Person
인스턴스를 통해 Address
구조물의 필드에 직접 액세스 할 수 있습니다.
<code class="go">person := Person{ Name: "John Doe", Age: 30, Address: Address{ Street: "123 Main St", City: "Anytown", Country: "USA", }, } fmt.Println(person.Street) // Output: 123 Main St fmt.Println(person.City) // Output: Anytown fmt.Println(person.Country) // Output: USA</code>
익명 필드의 사용 사례 :
요약하면, Go Structs의 익명 필드는보다 간결하고 재사용 가능한 코드 구조를 만들어 프로그램의 유연성과 가독성을 향상시키는 강력한 방법을 제공합니다.
위 내용은 Go의 구조는 무엇입니까? 당신은 그것들을 어떻게 정의하고 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!