generics json에 이름 없는 걸 끼워넣고 싶어요.
generics의 무명을 매립할 수 없습니다.
1.18, 기다렸던generics가 드디어 왔다.
나는 개인적으로 매우 편리하고 좋다고 생각한다.
그러나 현황
struct
을 jsonmarshal
으로 바꿀 때 나는 그 계층에서 전개할 수 없다는 것을 깨달았다.이거 안 돼.
bad.go
type umekomi[T any] struct {
Name string
T
}
이것 괜찮아요?type gene[T any] struct {
Name string
Extra T
}
예를 들면 다음과 같은 것이 json이다.sample.go
type ext struct {
Age int
BornAt time.Time
}
var bornThisWay = gene[ext]{
Name: "Gaga",
Extra: ext{
Age: 0,
BornAt: time.Now(),
},
}
이렇게 된 느낌.{
"Name": "Gaga",
"Extra": {
"Age": 0,
"BornAt": "****"
}
}
같은 차원으로 발전하고 싶어요.또한 앞에서 구조체를 정의할 때 이걸로 정의하면 문제없지만 다른 곳의 API를 끌어올릴 때generics판의 무명삽입을 원합니다.
프로포즈를 한번 내봤어요.
goo에 벌원숭이를 올려봤어요.
죄송합니다. 제가 영어를 잘해요.충동적인 움직임으로 2분 만에 쓴 영어는 마치 우뚝 솟은 똥과 같다.
첫 번째 긴장
proposal
& 첫 번째PR
결과는...dup
순간 종료로 판단😭우리 측의 의도가 전달됐는지 모르겠지만 그래도 되죠.
예법을 지키지 않아 혼난 것 같지만 그래도 영어를 아는 마음으로 한다.
주제 밖의 말:
테스트는 농담이잖아...
왜 이렇게 됐을까😰
포기하지 않을 거예요.
이런 거 했어요.
사용법
package main
import (
"fmt"
"github.com/maru44/gson"
)
type good[T any] struct {
Name string
Free T `json:"..."`
}
type more struct {
Age int
Country string
}
func main() {
got := good[more]{}
in := `{"Name": "Foo", "Age": 20, "Country": "U.S.A"}`
_ = gson.Unmarshal([]byte(in), got)
}
이렇게 하면...good[more]{
Name: "Foo",
more: more{
Age: 20,
Country: "U.S.A",
},
}
이런 느낌이 돌아왔어요.반대로 해도 역시 그렇다.
!
코드를 보면 알 수 있듯이 완전히
encoding/json
의 표절이다. 인용, 경의, 재건(고탑찬가풍)으로 이해할 수 있다면 좋겠다.
Reference
이 문제에 관하여(generics json에 이름 없는 걸 끼워넣고 싶어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/maru44/articles/17dbb0eb9abedd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)