1.string int转换
string转成int:
int, err := strconv.Atoi(string)
string转成int64:
int64, err := strconv.ParseInt(string, 10, 64)
int转成string:
string := strconv.Itoa(int)
int64转成string:
string := strconv.FormatInt(int64,10)
2.golang 几种字符串的拼接方式
address := fmt.Sprintf(":%d", global.GVA_CONFIG.System.Addr)
_ = fmt.Sprintf("%s,%s", hello, world)
_ = strings.Join([]string{hello, world}, ",")
var buffer bytes.Buffer
buffer.WriteString(hello)
buffer.WriteString(",")
buffer.WriteString(world)
_ = buffer.String()
3.时间处理
3.1比较
nowAddTime.After(now)
nowAddTime.Before(now)
3.2 加减
nowAddTime := now.Add(timeDur)
//时间相减,时间差(时间段)
diff := nowAddTime.Sub(now)
3.3格式化
//时间转换的模板,golang里面只能是 "2006-01-02 15:04:05" (go的诞生时间)
timeTemplate1 := "2006-01-02 15:04:05" //常规类型
timeTemplate2 := "2006/01/02 15:04:05" //其他类型
timeTemplate3 := "2006-01-02" //其他类型
timeTemplate4 := "15:04:05" //其他类型
⚠️format时间格式的时候 2006-01-02 15:04:05 = yyyy-mm-dd hh:MM:ss这样的格式
// ======= 将时间戳格式化为日期字符串 =======
//输出:2019-01-08 13:50:30
time.Unix(t, 0).Format(timeTemplate1) //t 时间戳
3.4 字符串 时间戳 转换
//获取时间戳
timestamp := time.Now().Unix()
//格式化为字符串
tm := time.Unix(timestamp, 0)
fmt.Println(tm.Format("2006-01-02 03:04:05"))
//输出:2021-02-02 13:50:30
//从字符串转为时间戳,
//01/02/2006格式,02/08/2015是要转换的时间字符串
tm2, _ := time.Parse("01/02/2006", "02/08/2015")
fmt.Println(tm2.Unix())
3.5 判断时间是否存在
.IsZero() //存在 true 否则 false