Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 从存储解组函数输出的变量中删除所有非字母数字字符_Go - Fatal编程技术网

Go 从存储解组函数输出的变量中删除所有非字母数字字符

Go 从存储解组函数输出的变量中删除所有非字母数字字符,go,Go,我通过JSON包解析和存储JSON数据,并使用func Unmarshal获得所需的输出。 不幸的是,我得到的结果是: &{6} 我只想 六, 下面是我的一些代码: type AutoGenerated struct { Total int `json:"total"` } func getStations(body []byte) (*AutoGenerated, error) { var s = new(AutoGenerated) err := j

我通过JSON包解析和存储JSON数据,并使用func Unmarshal获得所需的输出。 不幸的是,我得到的结果是:

&{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。

您遇到的问题是关于格式化谓词-
%v
-将详细地显示变量的外观。您也可以尝试使用
%+v
%#v
,但您需要的是
%s
(如果实现了stringer),或者调用一个结构字段,据我所见和猜测


  • &{6}
    是指向结构的唯一指针,其中包含数字6(
    %v
    ,用这种方式表示)
  • &{%!s(int=6)}
    -如果您尝试在没有Stringer接口实现的结构上使用
    %s
    ,则会得到此结果
  • &{field:6}
    -
    %+v
    还将生成结构的字段名
  • &struct{v int}{v:6}
    这显示了(我的示例)一个结构名、包和值,它代表
    %\v
我建议直接调用struct字段

func main() {
    s := &struct {
        v int
    }{6}
    fmt.Printf("%d", s.v)
}

输出
6
,但需要调用字段而不是结构。

如果不需要整个结构,请不要打印整个结构。只打印s.Total。