正则表达式
概念
- 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
使用方式
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())
}
2006/01/02 15:04:05
- 这种格式时固定的可以拆分组合
时间休眠和时间常量
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))
}
网友评论