- time模块
fmt.Println(time.Now()) //当前时间 fmt.Println(time.Now().Unix()) // 十位数时间戳 fmt.Println(time.Now().Format("2006-01-02 15:04:05")) // 十位数时间戳 fmt.Println(time.Unix(1389058332, 0).Format("2006-01-02 15:04:05")) // 时间戳转格式化时间 fmt.Println(time.Date(2014, 1, 7, 5, 50, 4, 0, time.Local).Unix()) //格式化时间转时间戳 t := time.Now() y, m, d := t.Date() fmt.Println(y, m, d) // 2020 February 27 today := time.Now().Format("2006-01-02") fmt.Println(today) datetime := time.Now().Format("2006-01-02 15:04:05") fmt.Println(datetime) t2 := time.Unix(1389058332, 0) delter := t.Sub(t2) // 返回时间差, s fmt.Println(delter)
// time.Tick函数返回一个channel, 每隔固定的时间想chnnel发送一个信号
for range time.Tick(time.Second * 5){
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
- string()
func main() { var a = []byte(time.Now().String()) fmt.Println(a) //[50 48 50 48 45 48 50 45 50 55 32 49 50 58 48 55 58 51] ascii码值切片,或者 fmt.Println(reflect.TypeOf(a)) // []uint8 fmt.Println(string(a)) // 将uint8切片还原为字符串 }
- error模块的实现方法
// because the former will succeed if err wraps an *os.PathError. package errors // New returns an error that formats as the given text. // Each call to New returns a distinct error value even if the text is identical. func New(text string) error { return &errorString{text} } // errorString is a trivial implementation of error. type errorString struct { s string } func (e *errorString) Error() string { return e.s }
- 输入输出 fmt. bufio
package main import ( "bufio" "fmt" "os" ) func main() { /* fmt 包 输入输出 输出: print // 打印 printf // 格式化 %t 布尔值, %c 打印数值对应的字符, %v:原样输出 %s :字符串 %f: 浮点 %d: 十进制整数 %p: 打印内存地址 println // 打印之后换行 输入: Scanln Scanf */ a := 10 b := 3.14 c := true d := "hello word" fmt.Printf("%T, %d ", a,a) fmt.Printf("%T, %f ", b,b) fmt.Printf("%T, %t ", c,c) fmt.Printf("%T, %s ", d,d) fmt.Printf("%T, %p ", a,a) //var x int //var y float64 //fmt.Println("请输入一个整数和一个浮点数") //fmt.Scanln(&x, &y) // 读取键盘的输入,通过操作地址,赋值给x,y //fmt.Println(x, y) //fmt.Scanf("%d,%f",&x,&y) //fmt.Println(x,y) // 通过读取io操作获取输入 fmt.Println("请输入一个字符") reader := bufio.NewReader(os.Stdin) s1, err := reader.ReadString(' ') //读到换行就读完了 if err != nil{ return } fmt.Println(s1) }
- 生成随机数
func main() { num := rand.Int() fmt.Println(num) // 重复执行发现每次运行结果都相同 for i:=0;i<10;i++{ fmt.Println(rand.Intn(10)) // 生成一个0到9之间的随机数 } }