Go语言之字符串函数和日期函数与格式化
Posted 程序彤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言之字符串函数和日期函数与格式化相关的知识,希望对你有一定的参考价值。
字符串函数
package main
import(
"fmt"
"strconv"
"strings"
)
func main(){
str1 := "李威彤"
str2 := []rune(str1)
for i:=0;i<len(str2);i++{
fmt.Printf("%c\\n",str2[i])
}
// 字符串转为整数
n,err := strconv.Atoi("123")
if err != nil{
fmt.Println("出错了:",err)
}else{
fmt.Println("转成的结果为:",n)
}
// 整数转为字符串
str3 := strconv.Itoa(12345)
fmt.Printf("%v,%T\\n",str3,str3)
// 字符串转为字节数组
var bytes = []byte("lwt666")
fmt.Printf("%v\\n",bytes)
// 字节数组转为字符串
str4 := string([]byte{97,98,99})
fmt.Printf("%v\\n",str4)
// 十进制转2、8/16进制
str5:=strconv.FormatInt(8,2)
fmt.Printf("8的二进制%v\\n",str5)
str6:=strconv.FormatInt(8,16)
fmt.Printf("8的十六进制%v\\n",str6)
// 子串是否包含在字符串中
bool1:=strings.Contains("lwt666","lwt")
fmt.Println(bool1)
num1:=strings.Count("lwwt","w")
fmt.Println(num1)
// EqualFold忽略大小写的字符串判断
bool2 := strings.EqualFold("lwt","lwT1")
fmt.Println(bool2)
// Index子串第一次出现的索引
index1 := strings.Index("ggo","go")
fmt.Println(index1)
// LastIndex子串最后一次出现的索引
index2 := strings.LastIndex("ggo go","go")
fmt.Println(index2)
// Replace替换
str7 := strings.Replace("go go 666","go","lwt",1)
fmt.Println("str7=",str7)
// 将字符串按某字符分割
str8 := strings.Split("hello,lwt,666",",")
for i:=0; i<len(str8);i++{
fmt.Println(str8[i])
}
fmt.Println(str8)
// 字符串转小写
str9 := "Go Lang"
str9 = strings.ToLower(str9)
fmt.Println(str9)
// 字符串转大写
str10 := "Go Lang"
str10 = strings.ToUpper(str10)
fmt.Println(str10)
// 去掉左右两边指定的字符串
str11 := " !lwt! "
str11 = strings.Trim(str11," !")
fmt.Println(str11) // "lwt"
// 去掉左右两边空格TrimSpace()、TrimLeft()、TrimRight()去掉左、右指定的字符
bool3 := strings.HasPrefix("http://www.baidu.com","http");
fmt.Println(bool3)
}
日期函数与格式化
package main
import(
"fmt"
"time"
)
func main(){
timeStr := time.Now()
fmt.Println(timeStr)
fmt.Printf("%d-%d-%d %d:%d:%d\\n",timeStr.Year(),timeStr.Month(),timeStr.Day(),
timeStr.Hour(),timeStr.Minute(),timeStr.Second()) // 不带0
// Mon Jan 2 15:04:05 -0700 MST 2006
time1 := timeStr.Format("2006-01-02 15:04:05")
fmt.Println(time1) // 带0
time2 := timeStr.Format("2006-01-02")
fmt.Println(time2)
time3 := timeStr.Format("15:04:05")
fmt.Println(time3)
fmt.Println(timeStr.Unix())
fmt.Println(timeStr.UnixNano())
}
测试程序执行时间
package main
import(
"fmt"
"strconv"
"time"
)
func main(){
// timeStr := time.Now()
start := time.Now().Unix()
test01()
end := time.Now().Unix()
fmt.Println(end-start)
}
func test01(){
str := ""
for i:=0;i<100000;i++{
str+="hello"+strconv.Itoa(i)
// fmt.Println(str)
}
}
以上是关于Go语言之字符串函数和日期函数与格式化的主要内容,如果未能解决你的问题,请参考以下文章