美文网首页
Go语言正则表达式的使用 和 时间日期的函数

Go语言正则表达式的使用 和 时间日期的函数

作者: 超级皮波9 | 来源:发表于2018-09-29 18:02 被阅读0次

    正则表达式

    概念

    • 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

    使用方式

    • 创建正则表达式对象
    regx,_ := regexp.Compile("正则表达式的规则")
    
    • 通过正则对象找到符合的字符串
    regx.FindAllString(str string,count int)  --->将找到的符合规定的返回一个新的字符串
    
    • 案例
    package main
    
    import (
        "fmt"
        "regexp"
    )
    
    func main() {
    
        str := "123abcdefghijk123"
        // 找到字符串中的123
        regx,ok := regexp.Compile("123")  // 创建正则表达式规则对象
    
        str1 := regx.FindAllString(str,-1)  // -1 代表找到所有的
    
        fmt.Println(ok)
    
        fmt.Println(str1)  //  str1 = [123 123]
    
    }
    

    时间的获取和时间有关的函数

    获取当地的时间

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
    
        now := time.Now()
        
        fmt.Println(now)  // now = 2018-09-29 17:24:32.8458928 +0800 CST m=+0.010000001
    
    }
    

    获取当地时间的年/月/时/分/秒

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
    
        now := time.Now()
        
        year := now.Year()        //获取年
        fmt.Println(year)
        
        year2 := now.YearDay()   //获取这年过了多少天
        fmt.Println(year2)
        
        month := now.Month()     //获取月份
        fmt.Println(month)
        
        day := now.Day()         //获取日
        fmt.Println(day)
        
        hour := now.Hour()       //获取小时
        fmt.Println(hour)
        
        minute := now.Minute()   //获取分
        fmt.Println(minute)
        
        second := now.Second()   //获取秒
        fmt.Println(second)
    
    }
    

    按照指定格式输出时间

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
    
        now := time.Now()
    
        fmt.Printf("%d年-%d月-%d日  %d:%d:%d\n",now.Year(),now.Month(),now.Day(),now.Hour(),now.Minute(),now.Second())
    
    }
    
    • 第二种是Go原因规定了一种格式
    2006/01/02 15:04:05
    
    1. 这种格式时固定的可以拆分组合

    时间休眠和时间常量

    • 时间常量
    
        time.Nanosecond  = 1                  // 纳秒
        time.Microsecond = 1000*Nanosecond    // 微秒
        time.Millisecond = 1000*Microsecond   // 毫秒
        time.Second      = 1000*Millisecond   // 秒
        time.Minute      = 60 * second        // 分
        time.Hour        = 60 * minute        // 小时
    
    • 时间休眠
    time.sleep( 休眠的时间 )
    
    • 时间戳
    • go语言中的时间戳是从1970年1月1日开始计算的
    • Unix: 返回当前时间距离1970年1月1日有多少秒
    • UnixNano: 返回当前时间距离1970年1月1日有多少纳秒
    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
    
        fmt.Println(time.Now().Unix())    // 1538215022
    
        fmt.Println(time.Now().UnixNano())  // 1538215022802896700
    
    }
    

    设置随机因子 结合时间戳使用

    package main
    
    import (
        "fmt"
        "math/rand"
        "time"
    )
    
    func main() {
    
        //设计随机因子
        rand.Seed(time.Now().UnixNano())
        //随机生存5以内的任意数
        fmt.Println(rand.Intn(5))
    
    }
    

    相关文章

      网友评论

          本文标题:Go语言正则表达式的使用 和 时间日期的函数

          本文链接:https://www.haomeiwen.com/subject/yjjboftx.html