如果我理解正确,请将内容复制到 s 地址(投射到 )。但是,如果是这样的话,那么仅仅做而不是复制和被GC收集不是更有效吗?或者它可能导致副作用改变s的值/或其他原因这样做?谢谢!*s = *(*State)(&state)&state*rawState*States = (*State)(&state)*state
[0]的完整函数:
func (s *State) UnmarshalJSON(b []byte) error {
type rawState State
var state rawState
dec := json.NewDecoder(bytes.NewReader(b))
if s.useJSONNumber {
dec.UseNumber()
}
err := dec.Decode(&state)
if err != nil {
return err
}
*s = *(*State)(&state)
return s.Validate()}
[0]https://github.com/hashicorp/terraform-json/blob/d1018bf93fd9c097133b0159ab8b3c0517a846c9/state.go#L73
摇曳的蔷薇
智慧大石
相关分类