Berikut adalah contoh
Pustaka penghuraian yaml nampaknya tidak dapat mencetak"
Jadi apabila saya menghuraikan ayat dengan "
解析一个句子时,go 在它周围添加字节撇号 ('
, pergi tambahkan tanda kutip bait ('
)
Adakah terdapat beberapa helah untuk membuatnya mencetak/membuat rentetan ringkas/rentetan petikan tanpa menambah apostrof bait?
Kod contoh:
import ( "fmt" "log" yaml "gopkg.in/yaml.v3" ) type X struct { Example string `yaml:"some-example"` } func main() { item := X{ Example: fmt.Sprint("\"some text\""), } res, err := yaml.Marshal(item) if err != nil { log.Fatal(err) } fmt.Print(string(res)) }
Cetak some-example: '"some text"'
Mahusome-example:“一些文本”
Adakah terdapat beberapa helah untuk membuatnya mencetak/membuat rentetan ringkas/rentetan petikan tanpa menambah apostrof bait?
Sila ambil perhatian bahawa anda sedang mencetak output yaml.marshal
iaitu anda sedang mencetak dokumen yaml yang sah dan yaml tidak mempunyai apa-apa yang dipanggil "apostrophes byte". Dalam yaml, rentetan boleh tanpa petikan, petik berganda, atau petik tunggal, tidak kira apa pun, semuanya adalah rentetan.
# all three are strings a: foo bar b: "foo bar" c: 'foo bar'
Jadi keluaran asal anda
some-example: '"some text"'
adalah yaml yang sah dengan sempurna, bukan pergi yang menambah petikan tunggal, ia adalah pakej ngopkg.in/yaml.v3
yang melakukannya.
afaict Tiada cara untuk menetapkan tetapan global untuk yaml.encoder
yaml.encoder
设置全局设置 使用双引号样式封送每个字符串,但是您可以使用实现 yaml.marshaler
强制 yaml.encoder
untuk menyusun setiap rentetan menggunakan gaya petikan berganda, tetapi anda boleh menggunakan pelaksanaan yaml.marshaler
yaml.encoder
untuk sentiasa mengeluarkan sebarang nilai jenis tersuai ini Double rentetan yang dipetik. Contohnya:
type doublequotedstring string func (s doublequotedstring) marshalyaml() (interface{}, error) { return yaml.node{ kind: yaml.scalarnode, style: yaml.doublequotedstyle, // <- this is the relevant part value: string(s), }, nil }
some-example: "\"some text\""
Atas ialah kandungan terperinci Bagaimana untuk membuang tanda apostrof/bait daripada ayat rentetan apabila cuba menghuraikan yaml. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!