亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從存儲解組函數輸出的變量中刪除所有非字母數字字符

從存儲解組函數輸出的變量中刪除所有非字母數字字符

Go
狐的傳說 2023-08-14 14:57:49
我通過 json 包解析和存儲 JSON 數據,并使用 func Unmarshal 來獲取所需的輸出。不幸的是我得到的輸出是:&{6}我只想6.這是我的一些代碼:type AutoGenerated struct {    Total      int    `json:"total"`}func getStations(body []byte) (*AutoGenerated, error) {    var s = new(AutoGenerated)    err := json.Unmarshal(body, &s)    if(err != nil){                fmt.Println("whoops:", err)    }    return s, err}func main() {    s, err := getStations([]byte(body))    fmt.Printf("%v, %T", s, s)    s, err := getStations([]byte(body))}我無法使用 regexp 包中的 reg.ReplaceAllString 函數,因為這不是字符串。好像是指針什么的。body 存儲 json。
查看完整描述

1 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

您遇到的問題是關于格式化動詞 - %v- 將向您詳細展示變量的外觀。您也可以嘗試使用%+vand ,但據我所見和猜測,%#v您需要的是(如果實現了 stringer)或調用結構體字段。%s


  • &{6}只是指向其中包含數字 6 的結構體的指針(%vwith 以這種方式表示)。

  • &{%!s(int=6)}- 如果您嘗試%s在沒有 Stringer 接口實現的結構上使用,您將會得到這個。

  • &{field:6}-%+v還將生成結構的字段名稱。

  • &struct { v int }{v:6}這顯示了(我的示例)結構名稱、包和值 - 這就是%#v.

我建議直接調用struct field。

func main() {

    s := &struct {

        v int

    }{6}

    fmt.Printf("%d", s.v)

}

輸出6,但您需要調用 field 而不是 struct。


查看完整回答
反對 回復 2023-08-14
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號