strings
package main
import (
"fmt"
"strings"
)
func main() {
s1 := "goStudyGoDay"
fmt.Println(strings.Contains(s1, "go"))
fmt.Println(strings.Contains(s1, "gos"))
fmt.Println(strings.ContainsAny(s1, "gos"))
fmt.Println(strings.ContainsAny(s1, "go"))
fmt.Println(strings.Count(s1, "o"))
fmt.Println(strings.Count(s1, "Go"))
s2 := "性感三上悠亚上悠亚.mp4"
fmt.Println(strings.HasPrefix(s2, "性"))
fmt.Println(strings.HasPrefix(s2, "女性"))
fmt.Println(strings.HasSuffix(s2, ".mp3"))
fmt.Println(strings.HasSuffix(s2, ".mp4"))
fmt.Println(strings.Index(s2, "上亚"))
fmt.Println(strings.Index(s2, "上"))
fmt.Println(strings.LastIndex(s2, "上亚"))
fmt.Println(strings.LastIndex(s2, "上"))
strArr := []string{"a", "b", "c", "d", "e", "f"}
fmt.Println(strings.Join(strArr, "----"))
s3 := "a----b----c----d----e----f"
fmt.Println(strings.Split(s3, "-"))
fmt.Println(strings.Split(s3, "--"))
fmt.Println(strings.Split(s3, "---"))
fmt.Println(strings.Split(s3, "----"))
sUpper := "A"
sLower := "a"
fmt.Println(strings.ToLower(sUpper))
fmt.Println(strings.ToUpper(sLower))
sReplace := "aaabbbccc"
fmt.Println(strings.Replace(sReplace, "a", "A", 1))
fmt.Println(strings.Replace(sReplace, "a", "A", -1))
fmt.Println(strings.ReplaceAll(sReplace, "a", "A"))
str5 := sReplace[:3]
fmt.Println("截取字符串:", str5)
}
strconv
package main
import (
"fmt"
"strconv"
)
func main() {
strToBool := "true"
strToBoolRes, err := strconv.ParseBool(strToBool)
fmt.Printf("[strconv.ParseBool 字符串 转换成 布尔值] 类型:%T,%v\n", strToBoolRes, strToBoolRes)
if err != nil {
fmt.Println("err:", err)
return
}
boolToStr := true
strToStrRes := strconv.FormatBool(boolToStr)
fmt.Printf("[strconv.FormatBool 布尔值 转换成 字符串 ] 类型:%T,%v\n", strToStrRes, strToStrRes)
strToInt := "123"
strToIntRes, err := strconv.Atoi(strToInt)
if err != nil {
fmt.Println("err:", err)
return
}
fmt.Printf("[strconv.Atoi 字符串 转换成 整型] 类型:%T,%v\n", strToIntRes, strToIntRes)
intToStr := 10
intToStrRes := strconv.Itoa(intToStr)
fmt.Printf("[strconv.Itoa 整型 转换成 字符串] 类型:%T,%v\n", intToStrRes, intToStrRes)
strToInt2 := "100"
strToIntRes2, err := strconv.ParseInt(strToInt2, 10, 64)
fmt.Printf("[strconv.ParseInt 字符串 转换成 base 10进制 的64位整型] 类型:%T,%v\n", strToIntRes2, strToIntRes2)
strToIntRes3, err := strconv.ParseInt(strToInt2, 2, 64)
fmt.Printf("[strconv.ParseInt 字符串 转换成 base 2进制 的64位整型] 类型:%T,%v\n", strToIntRes3, strToIntRes3)
if err != nil {
fmt.Println("err:", err)
return
}
intToStr2 := int64(1000)
intToStrRes2 := strconv.FormatInt(intToStr2, 2)
fmt.Printf("[strconv.FormatInt 整型 转换成 2进制的字符串] 类型:%T,%v\n", intToStrRes2, intToStrRes2)
intToStrRes3 := strconv.FormatInt(intToStr2, 8)
fmt.Printf("[strconv.FormatInt 整型 转换成 8进制的字符串] 类型:%T,%v\n", intToStrRes3, intToStrRes3)
intToStrRes4 := strconv.FormatInt(intToStr2, 10)
fmt.Printf("[strconv.FormatInt 整型 转换成 10进制的字符串] 类型:%T,%v\n", intToStrRes4, intToStrRes4)
strToFloat := "123.123"
strToFloatRes, err := strconv.ParseFloat(strToFloat, 64)
if err != nil {
fmt.Println("err:", err)
return
}
fmt.Printf("[strconv.ParseFloat 字符串 转换成 浮点数] 类型:%T,%v\n", strToFloatRes, strToFloatRes)
floatToStr := 3.141592653589793
floatToStrRes1 := strconv.FormatFloat(floatToStr, 'f', -1, 64)
fmt.Printf("[strconv.FormatFloat 浮点数 转换成 字符串 . f 格式化 -1 。保持精度] 类型:%T,%v\n", floatToStrRes1, floatToStrRes1)
floatToStrRes2 := strconv.FormatFloat(floatToStr, 'F', -1, 64)
fmt.Printf("[strconv.FormatFloat 浮点数 转换成 字符串 . F 格式化] 类型:%T,%v\n", floatToStrRes2, floatToStrRes2)
floatToStrRes3 := strconv.FormatFloat(floatToStr, 'f', 2, 64)
fmt.Printf("[strconv.FormatFloat 浮点数 转换成 字符串 . f 格式化,保留小数点后两位 ] 类型:%T,%v\n", floatToStrRes3, floatToStrRes3)
floatToStrRes4 := strconv.FormatFloat(floatToStr, 'e', -1, 64)
fmt.Printf("[strconv.FormatFloat 浮点数 转换成 字符串 . e 格式化:科学技术法 ] 类型:%T,%v\n", floatToStrRes4, floatToStrRes4)
}
time 时间
- 固定的格式化模板:2006年1月2号下午3点4分 格式化代码: 2006-01-02 15:04:05
package main
import (
"fmt"
"strconv"
"time"
)
func getNowTime() time.Time {
return time.Now()
}
func main() {
nowTime := getNowTime()
fmt.Println("当前时间:", nowTime)
fmt.Printf("当前时间类型:%T", nowTime)
fmt.Printf("年月日:%d-%02d-%02d\n", nowTime.Year(), nowTime.Month(), nowTime.Day())
fmt.Printf("时分秒:%d:%02d:%02d\n", nowTime.Hour(), nowTime.Minute(), nowTime.Second())
fmt.Println(nowTime.Format("2006-01-02 15:04:05"))
fmt.Println(nowTime.Format("2006/01/02 15:04:05"))
fmt.Println(nowTime.Format("2006-01-02 15:04:05 PM"))
fmt.Println(nowTime.Format("2006-01-02 15:04:05 AM"))
fmt.Println(nowTime.Format("2006-01-02 03:04:05"))
fmt.Println(nowTime.Format("2006/01/02 03:04:05"))
fmt.Println(nowTime.Format("2006-01-02 03:04:05 PM"))
fmt.Println(nowTime.Format("2006-01-02 03:04:05 AM"))
strTime := "2024-06-02 03:26:13"
fmt.Println("当前时间的时区:", nowTime.Location())
fmt.Printf("当前时间的时区: %T\n", nowTime.Location())
nowTimeZone, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
fmt.Println(err)
}
fmt.Println("当前时间的时区:", nowTimeZone)
strToTime, _ := time.ParseInLocation("2006-01-02 03:04:05", strTime, nowTimeZone)
fmt.Println(strToTime)
fmt.Println("当前时间的时间戳 毫秒:", nowTime.Unix())
fmt.Println("当前时间的时间戳 微秒:", nowTime.UnixMicro())
fmt.Println("当前时间的时间戳 纳秒:", nowTime.UnixNano())
unixToTime := time.Unix(1717270954, 0)
fmt.Println(unixToTime)
strTimeStamp := "1717270954"
strTimeStampRes, _ := strconv.ParseInt(strTimeStamp, 10, 64)
fmt.Println("字符串转为时间结构体:", time.Unix(strTimeStampRes, 0))
int64TimeStamp := 1717270954
fmt.Println("浮点型转为时间结构体:", time.Unix(int64(int64TimeStamp), 0))
fmt.Println("DDD 当前时间:", nowTime)
addNowTime := nowTime.Add(time.Hour)
fmt.Println("时间加1个小时", addNowTime)
subNowTime := nowTime.Sub(nowTime.Add(time.Hour * -1))
fmt.Printf("subNowTime 的类型:%T\n", subNowTime)
fmt.Printf("subNowTime.Hours() 的类型:%T\n", subNowTime.Hours())
fmt.Printf("subNowTime.Minutes() 的类型:%T\n", subNowTime.Minutes())
fmt.Println("时间减去1个小时", subNowTime)
fmt.Println("时间减去1个小时", subNowTime.Hours())
afterTime := addNowTime
fmt.Println(afterTime.Equal(nowTime))
fmt.Println(nowTime.Equal(nowTime))
fmt.Println(afterTime.Before(nowTime))
fmt.Println(afterTime.After(nowTime))
}
time 的定时器 Duration
package main
import (
"fmt"
"time"
)
func main() {
tickObj := time.Tick(time.Second)
for t := range tickObj {
fmt.Println("tickObj:", t)
}
}
rand 随机
package main
import (
"fmt"
"math/rand"
)
func main() {
randomNum1 := rand.Int()
fmt.Println("randomNum1:", randomNum1)
randomNum2 := rand.Int()
fmt.Println("randomNum2:", randomNum2)
randomNum3 := rand.Intn(10)
fmt.Println("randomNum3:", randomNum3)
randomNum4 := rand.Intn(10)
fmt.Println("randomNum4:", randomNum4)
for i := 0; i < 5; i++ {
randomNum3 := rand.Intn(100)
fmt.Println("randomNum3 ", i, ":", randomNum3)
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
2019-07-02 Python进阶(十二)----re模块