code

golang structs 정의에서 backtick의 사용법은 무엇입니까?

codestyles 2020. 8. 18. 07:44
반응형

golang structs 정의에서 backtick의 사용법은 무엇입니까? [복제]


이 질문에 이미 답변이 있습니다.

type NetworkInterface struct {
    Gateway              string `json:"gateway"`
    IPAddress            string `json:"ip"`
    IPPrefixLen          int    `json:"ip_prefix_len"`
    MacAddress           string `json:"mac"`
    ...
}

나는 백틱에서 내용의 기능이 무엇인지 꽤 혼란 스럽습니다 json:"gateway".

그냥 댓글 //this is the gateway인가요?


태그 형식으로 Go 구조체에 추가 메타 정보를 추가 할 수 있습니다. 다음은 사용 사례의 몇 가지 예입니다 .

이 경우 json 패키지 는의 값을 해당 json 객체 의 키로 인코딩하는 json:"gateway"데 사용됩니다 .Gatewaygateway

예:

n := NetworkInterface{
   Gateway : "foo"
}
json.Marshal(n)
// will output `{"gateway":"foo",...}`

그들은있는 태그 :

필드 선언 다음에는 해당 필드 선언의 모든 필드에 대한 속성이되는 선택적 문자열 리터럴 태그가 올 수 있습니다. 태그는 리플렉션 인터페이스를 통해 표시되고 구조체의 유형 ID에 참여하지만 그렇지 않으면 무시됩니다.

// A struct corresponding to the TimeStamp protocol buffer.
// The tag strings define the protocol buffer field numbers.
struct {
  microsec  uint64 "field 1"
  serverIP6 uint64 "field 2"
  process   string "field 3"
}

자세한 설명과 대답 이 질문과 대답참조하십시오 .

다시 따옴표는 성격의 유형을 포함 할 수 있습니다 원시 문자열 리터럴을 만드는 데 사용됩니다 :

원시 문자열 리터럴은 역 따옴표 ''사이의 문자 시퀀스입니다. 따옴표 내에서 역 따옴표를 제외한 모든 문자는 합법적입니다.

참고 URL : https://stackoverflow.com/questions/30681054/what-is-the-usage-of-backtick-in-golang-structs-definition

반응형