"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > YAML 필드를 GO에서 유한 한 구조 세트에 동적으로 구문 분석하는 방법은 무엇입니까?

YAML 필드를 GO에서 유한 한 구조 세트에 동적으로 구문 분석하는 방법은 무엇입니까?

2025-03-13에 게시되었습니다
검색:442

How to Dynamically Parse YAML Fields into a Finite Set of Structs in Go?

예를 들어, 다음 YAML 파일을 고려하십시오. 투기: fooval : 4

종류 : "bar" 투기: barval : 5

그리고 구문 분석을위한 해당 스트러크 :

kind: "foo"
spec:
  fooVal: 4
한 가지 방법은 스펙 필드의 유형으로 [String] interface {}를 사용하는 것입니다. 그러나이 접근법은 특히 큰 YAML 파일의 경우 추가 복잡성과 메모리 소비로 이어질 수 있습니다.
kind: "bar"
spec:
  barVal: 5

spec struct를 수정하여 그것을 사용할 수 있습니다. 친절한 문자열`yaml : "Kind"` 사양 인터페이스 {}`yaml : "-"json : "-"` }

type Spec struct {
    Kind string      `yaml:"kind"`
    Spec interface{} `yaml:"spec"`
}

type Foo struct {
    FooVal int `yaml:"fooVal"`
}

type Bar struct {
    BarVal int `yaml:"barVal"`
}
이 접근법은 YAML 필드를 유한 한 스트러크 세트로 동적으로 파싱하기위한보다 우아하고 효율적인 솔루션을 제공하여 코드와 YAML 파일을 훨씬 깨끗하고 관리하기 쉽게 만듭니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3