小编Men*_*eng的帖子

如何从函数调用中获取返回值的指针?

我只需要一个指向time.Time的指针,所以下面的代码似乎无效:

./c.go:5:不能取时间地址.现在()

我只是想知道为什么?有没有办法做到这一点,除了先对变量赋值并获取变量的指针?

package main

import "time"
func main() {
    _ = &time.Now()
}
Run Code Online (Sandbox Code Playgroud)

pointers go

20
推荐指数
3
解决办法
6704
查看次数

如何在Go中自定义JSON编码输出?

我想自定义结构的编码格式但得到错误:json:错误调用MarshalJSON类型为main.Info:文字中的无效字符'o'为false(期待'a')我的代码出了什么问题?

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "log"
)

type Info struct {
    name string
    flag bool
}

func (i Info) MarshalJSON() ([]byte, error) {
    var b bytes.Buffer
    b.Write([]byte(i.name))
    if i.flag {
        b.Write([]byte(`"true"`))
    } else {
        b.Write([]byte(`"false"`))
    }   
    return b.Bytes(), nil 
}

func main() {
    a := []Info{
        {"foo", true},
        {"bar", false},
    }   
    out, err := json.Marshal(a)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf(string(out))
}
Run Code Online (Sandbox Code Playgroud)

json go

5
推荐指数
1
解决办法
3102
查看次数

标签 统计

go ×2

json ×1

pointers ×1