Go语言代码片段

原创
2019/04/25 14:54
阅读数 151

1、基础语法

1、日期与时间处理

//格式化为 年月日
today := time.Now().Format("2006-01-02")
fmt.Println(today) //2019-04-25
//格式化为 年月日时分秒
datetime := time.Now().Format("2006-01-02 15:04:05")//后面的参数是固定的 否则将无法正常输出
fmt.Println(datetime) //2019-04-25 14:46:09

//分别获取 年、月、日
day:=time.Now().Day()
month:=time.Now().Format("01")
year:=time.Now().Year()
fmt.Println(year,month,day) //2019 04 25

//字符串转日期
format:= "2006-01-02 15:04:05"
// 日期字符串
str := "2017-09-13 21:57:01"
loc, _ := time.LoadLocation("Local")
timeval, _ := time.ParseInLocation(format, str, loc)
fmt.Println(timeval) //2017-09-13 21:57:01 +0800 CST

//获取时间毫秒数
fmt.Println(time.Now().UnixNano() / 1e6) //1556177344776

2、Json处理

type BasicInfo struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}
type JobInfo struct {
	Skills []string `json:"skills"`
}
type Employee struct {
	BasicInfo BasicInfo `json:"basic_info"`
	JobInfo   JobInfo   `json:"job_info"`
}

var jsonStr = `{
	"basic_info":{
	  	"name":"Mike",
		"age":30
	},
	"job_info":{
		"skills":["Java","Go","C"]
	}
}	`

func TestEmbeddedJson() {
	e := new(Employee)
    //将json字符串转结构体
	err := json.Unmarshal([]byte(jsonStr), e) 
	if err != nil {
		panic(err)
	}
	fmt.Println(*e)
    //将结构体转json字符串
	if v, err := json.Marshal(e); err == nil {
		fmt.Println(string(v))
	} else {
		panic(err)
	}
}

 

展开阅读全文
Go
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部