xxx go内置函数

  • 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之间的随机数
    }
}
原文地址:https://www.cnblogs.com/zhangjian0092/p/12371167.html