English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 기본 튜토리얼

Golang 제어 문

Golang 함수 & 메서드

Golang 구조체

Golang 슬라이스 & 배열

Golang 문자열(String)

Golang 포인터

Golang 인터페이스

Golang 병렬 처리

Golang 예외(Error)

Golang 기타Miscellaneous

Go 익명 구조체와 필드

Golang의 구조는 사용자 정의된 유형이며, 하나의 단위에서 다양한 타입의 요소를 생성할 수 있게 합니다. 특정 속성이나 필드를 가진 실제 실체는 구조로 나타낼 수 있습니다.

익명 구조체

Go 언어에서 익명 구조체를 생성할 수 있습니다. 익명 구조체는 이름을 포함하지 않는 구조체입니다. 일회용으로 사용할 구조체를 생성할 때 유용합니다. 익명 구조체를 생성하는语法은 다음과 같습니다:

variable_name := struct{
// fields
}// Field_values}

이 개념에 대해 예제를 사용해 논의해 보겠습니다:

//익명 구조체 개념
package main 
  
import "fmt"
  
func main() { 
  
    // 익명 구조체를 생성하고 초기화
    Element := struct { 
        name string 
        branch string 
        language string 
        Particles int
    } 
        name: "칭삼" 
        branch: "개발부" 
        language: "C"++" 
        , 498Particles: 
    } 
  
    //,
    fmt.Println(Element) 
}

출력:

{칭삼 개발부 C++ 498}

익명 구조체

Go 구조체에서 익명 구조체를 생성할 수 있습니다. 익명 구조체는 이름을 포함하지 않는 필드입니다. 필드 타입만 언급하면 Go가 자동으로 해당 타입을 필드 이름으로 사용합니다. 익명 구조체를 생성하는语法은 다음과 같습니다:

type struct_name struct{
    int
    bool
    float64
}

중요 사항:

  • 구조체에서는 두 개나 더 많은 동일한 타입의 필드를 생성할 수 없습니다. 예를 들어:

    type student struct{
    int
    int
    }

    이렇게 하려고 시도하면 컴파일러가 오류를 발생시킵니다.

  • 익명 구조체와 이름 있는 구조체를 조합할 수 있습니다. 예를 들어:

    type student struct{
     name int
     price int
     string
    }
  • 익명 구조체 개념에 대해 논의하기 위해 예제를 사용해 보겠습니다:

    package main 
      
    import "fmt"
      
    //익명 구조체 필드를 생성 
    type student struct { 
        int
        string 
        float64 
    } 
      
    // 메인 함수 
    func main() { 
      
        // 值을 익명 학생 구조의 필드에 할당
        value := student{123, "Bud", 8900.23} 
      
        fmt.Println("입학 인원: ", value.int) 
        fmt.Println("학생 이름: ", value.string) 
        fmt.Println("패키지 가격: ", value.float)64) 
    }

    출력:

    입학 인원:  123
    학생 이름: Bud
    패키지 가격 :  8900.23