Go 当没有值时,删除具有空值的元素

Go 当没有值时,删除具有空值的元素,go,struct,Go,Struct,我想删除struct中值为空的元素。我的剧本在下面。此脚本的输出是{“keyA”:{}。我对KeyA和KeyB使用了省略empty。但留下一个值为空的元素。另一方面,未显示键盘B。我想在KeyA有值时显示它。我不想在KeyA没有值时显示它。有办法做到这一点吗 剧本 非常感谢您抽出时间。很抱歉我的问题不成熟。试试: 输出: {} 可能的副本谢谢你的建议。如何为此脚本向“KeyA.Key1”和“KeyA.Key2”输入值?请尝试,然后重试。我希望这有帮助。非常感谢。我能理解。 package ma

我想删除struct中值为空的元素。我的剧本在下面。此脚本的输出是
{“keyA”:{}
。我对KeyA和KeyB使用了
省略empty
。但留下一个值为空的元素。另一方面,未显示键盘B。我想在KeyA有值时显示它。我不想在KeyA没有值时显示它。有办法做到这一点吗

剧本 非常感谢您抽出时间。很抱歉我的问题不成熟。

试试:

输出:

{}

可能的副本谢谢你的建议。如何为此脚本向“KeyA.Key1”和“KeyA.Key2”输入值?请尝试,然后重试。我希望这有帮助。非常感谢。我能理解。
package main

import (
    "encoding/json"
    "fmt"
)
type KeyA struct {
    Key1 string `json:"keyA1,omitempty"`
    Key2 string `json:"keyA2,omitempty"`
} 
type sample struct {
    KeyA *KeyA  `json:"keyA,omitempty"`
    KeyB string `json:"keyB,omitempty"`
}

func main() {
    var s sample
    response, _ := json.Marshal(s)
    fmt.Println(string(response)) // {}
}
{}