实战
§go 实战篇
一、基础语法重点
§1、数组
package main
import (
"fmt"
)
func main() {
a := [5]int{
1, 2} // 未初始化元素值为 0。数组长度为5,前两个元素为1、2,后3个元素默认0
b := [5]int{
2: 100, 4: 200} // 使用引号初始化元素。数组长度为5,使下标2的元素为100, 下标4的元素为200,其余元素默认0
c := [...]int{
1, 2, 3, 4} // 通过初始化值确定数组长度。
d := [...]struct {
name string
age uint8
}{
{
"name1", 10}, // 可省略元素类型。
{
"name2", 20}, // 别忘了最后一行的逗号。
}
fmt.Println(a, "\n", b, "\n", c, "\n", d)
}
结果:
[1 2 0 0 0]
[0 0 100 0 200]
[1 2 3 4]
[{name1 10} {name2 20}]
二、实战经验
§1、时间格式化 2006-01-02 15:04:05
语法说明
go设计很聪明,将 月、日、时、分、秒、年
分别用 1,2,3,4,5,6
对应表示,如下:
含义 | 格式 | 备注 |
---|---|---|
月 | 01,1,Jan,January | |
日 | 02,2,_2 | _2 表示如果日期只有一个数字,则表示出来的日期前面用个空格占位 |
时 | 03,3,15 | |
分 | 04,4 | |
秒 | 05,5 | |
年 | 06,6,2006 | |
时区 | -070000,-07:00:00,-0700,-07:00, -07,Z070000,Z07:00:00,Z0700,Z07:00 | |
上下午 | PM,pm | |
星期 | Mon,Monday |
常用语法
时间.Format("2006-01-02 15:04:05")
例如
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Now().Format("2006-01-02 15:04:05")) // 2023-03-06 20:23:24
fmt.Println(time.Now().Format("2006-01-02 03:04:05")) // 2023-03-06 08:23:24
fmt.Println(time.Now().Format("06-01-02 03:04:05")) // 23-03-06 08:23:24
fmt.Println(time.Now().Format("06-1-2 3:4:5")) // 23-3-6 8:23:24
}
运行结果:
2023-03-06 20:23:24
2023-03-06 08:23:24
23-03-06 08:23:24
23-3-6 8:23:24