Go语言代码片段

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)
	}
}

 

转载于:https://my.oschina.net/ruoli/blog/3042312

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值