1. string
- string.HasSuffix(name, suffix): 判断name的后缀是否是suffix
- 遍历中文问题: 使用[]rune(str)转换字符串
- 字符串转整数: num, err := strconv.Atoi(“12”)
- 整数转字符串: str := strconv.Itoa(12)
- 字符串转换为[]byte: var bytes = []byte(“hello”)
- byte转换为字符串: var str := string([]byte(97, 56)
- 十进制转换为16, 8, 2进制, str := strconv.FormatInt(123, 2),返回的是一个二进制的字符串
- 查找子串是否在指定的字符串中,bool_ := strings.Contains(“woe们尽快发动机”, “woe们”),判断第一个参数是否包含第二个参数
- 查找字符串s中包含几个子串: num := strings.Count(“aaaasss”, “a”), 判断第一个子串包含是多少个第二个字串
- 比较两个字符串不区分大小写:strings.EqualFold(“aa”, “AA”) -> true
- 返回子串在字符串第一次出现的index值,如果没有返回-1: index = strings.Index(“name”, “9”)
- 返回子串在字符串最后依次出现的index值,如果没有返回-1: strings.LastIndex(“name as”, “a”) -> 5
- 将指定的字符串替换为另外一个字符串,当最后一个参数为-1(小于0)时表示全部替换 strings.Replace(“e name”, “e”, " 替换 ", 1)
- 按照指定的某个字符为分割标识进行切割字符串为字符串数组. strings.Split(“name,time,hello”, “,”)
- 将字符串的字母进行大小写的转换:strings.ToUpper(“name”) 将字符串转换为大写, strings.ToLower(“RUjj”)将字符串转换为小写
- 去除两边空格. strings.TrimSpace(" hdjksfah ")
- 去除两边指定内容. strings.Trim("a hdjksfah a ", "a “) 去除两边的"a” 和 " ",后面字符串每个字符是或的关系
- 去除左边或者右边指定的内容. strings.TrimRight(" hdjksfah ", " “), strings.TrimLeft(” hdjksfah ", " ")
- 判断字符串是否以另外一个字符串开头. strings.HasPrefix(“https://”, “https”)
- 判断字符串是否以另外一个字符串结尾. strings.HasSuffix(“https://”, “//”)
2. 时间和日期相关函数
- nowTime := time.Now() 获取当前时间
- nowTime.Year() 获取当前年份
- nowTime.Month() 获取当前月,为Month类型,要返回数字使用int转换
- nowTime.Day() 获取当前天
- nowTime.Hour() 获取当前小时
- nowTime.Minute() 获取当前分钟
- nowTime.Second() 获取当前秒数
- nowTime.Format(“2006-01-02 15:04:05”) 格式化时间输出,"2006-01-02 15:04:05"格式可以自由组合,但是数字不能变
- time.Sleep(d Duration) Duration为纳秒,常量:
Nanosecond Duration = 1
Microsecond = 1000 * Nanosecond
Millisecond = 1000 * Microsecond
Second = 1000 * Millisecond
Minute = 60 * Second
Hour = 60 * Minute - 睡一分钟: time.Sleep(1 * time.Minute)
- nowTime.Unix() 获取从1970年1月1日到现在时间的秒数
- nowTime.UnixNano() 获取从1970年1月1日到现在时间的纳秒数
- nowTime.UTC() 获取当前时间所对应的Utc时间
- time.Now().Sub(nowTime) 获取当前时间与nowTime的差值,单位为纳秒
- 也可以使用time.Now().Unix() - nowTime.Unix()获取差值秒数
3. 内置函数
参考文档: https://studygolang.com/pkgdoc