要在使用json数据化之前自己处理时间
type Article struct {Id int
Title string
CreateTimeStr string
}
然后要将之前的时间转过来
Article.CreateTimeStr = Createdatetime.Format("2006-01-02")最后序列化JSON就是YYYY-MM-DD
这是最简单的方法
结构体与[]byte不能直接转化,可以通过gob来转换。编码时如下,假设默认的结构体为datafunc Encode(data interface{}) ([]byte, error) { buf := bytes.NewBuffer(nil) enc := gob.NewEncoder(buf) err := enc.Encode(data) if err != nil { return nil, err } return buf.Bytes(), nil }解码时如下,data为需要解码的字节数组,to为相应的接收结构体,记住to的结构体结构应与被编码的data相一致,解码后内容保存在to里面,直接使用to即可func Decode(data []byte, to interface{}) error { buf := bytes.NewBuffer(data) dec := gob.NewDecoder(buf) return dec.Decode(to) }使用的时候:b, err := Encode(data) if err != nil { //错误处理 } if err := Decode(b, &to)err != nil { //错误处理}func ByteToBinaryString(data byte) (str string) {var a byte
for i:=0i <8i++ {
a = data
data <<= 1
data >>= 1
switch (a) {
case data: str += "0"
default: str += "1"
}
data <<= 1
}
return str
}
//该代码片段来自于: http://www.sharejs.com/codes/go/4357
使用方法package main
import . "fmt"
func main() {
Printf("[%s][%s][%s][%s]\n",
ByteToBinaryString(byte(0)),ByteToBinaryString(byte(231)),
ByteToBinaryString(byte(168)), ByteToBinaryString(byte(162)))
}