Go语言的常用函数
导包
import "strconv" //操作字符的包
import "strings" //操作字符串的包
import "time" //导入时间相关的函数
字符串函数
len()统计字符串长度
golang编码统一是utf8编码 –汉字占三个字节
func len (string) (int){...}
package main
import "fmt"
func main() {
str:="hello背" //8
fmt.Println("str=",len(str))
}
strconv.Atoi 将字符串转为整数
// 将字符串转化为整数
func IntString(str string)(){
value, err:= strconv.Atoi(str)
if err!=nil{
fmt.Printf("转换失败:%v\n", err)
}else {
fmt.Printf("转换成功的值:%v\n", value)
fmt.Printf("转换成功的类型:%T\n", value)
}
}
整数转字符串strconv.Itoa()
strconv.Itoa()
// 将整数转为字符串
func IntToString(number int)(){
str := strconv.Itoa(number)
fmt.Printf("%v %t\n", str,str)
}
r = []rune (str) 中文的变历
对含有中文的字符串遍历
str1 = []rune(str2)
func ChineseEachChar(str string)(){
r := []rune(str)
fmt.Printf("\n*****************\n")
for i:=1;i<len(r);i++{
fmt.Printf("字符:%c\n", r[i])
}
}
对不含有中文的字符串遍历可用
str1 :="hello"
for i:=0;i<len(str1);i++{
fmt.Printf("字符%c\n", str1[i])
}
将字符串转为 []byte
var bytes = [] byte("hello")
将byte转为string
str := strings([]byte{1,2,3,4})
查询子串是否在指定的子串
strings.Contains("seafood","food") // true
统计一个子串在另一个子串中存在多少个
// 统计一个字符串中含有多少个子串
func CountNumber(str1 string ,str2 string)(int){
return strings.Count(str1,str2)
}
字符串的比较(区分大小写与不区分大小写)
== 区分大小写
string.EqualFold(string,string) :不区分大小写
b:=string.EqualFold(string01,string02)
返回子串第一次出现的位置
strings.index(str1,str2)
strings.index("as_dd","_dd") //2
返回最后一次出现的位置
strings.Lastindex(str1,str2)
strings.Lastindex("as_dd","_dd")
將子串替換
strings.Replace("go go hello","go","go語言",n) //n代表你想替換几个
将字符串进行切割
strings.split("hello,world,ok",",")
字符串的首字母大小写
string.ToLower("Go") //小写
string.ToUpper("go") //大写
日期时间函数
获取年月日时分秒
import (
"fmt"
"time"
)
func main() {
now := time.Now() //获取当前时间
fmt.Printf("current time:%v\n", now)
year := now.Year() //年
month := now.Month() //月
day := now.Day() //日
hour := now.Hour() //小时
minute := now.Minute() //分钟
second := now.Second() //秒
fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second)
}
获取时间戳
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now() //获取当前时间
timestamp1 := now.Unix() //时间戳
timestamp2 := now.UnixNano() //纳秒时间戳
fmt.Printf("现在的时间戳:%v\n", timestamp1)
fmt.Printf("现在的纳秒时间戳:%v\n", timestamp2)
}
获取当前是星期几
time 包中的 Weekday 函数能够返回某个时间点所对应是一周中的周几,示例代码如下
package main
import (
"fmt"
"time"
)
func main() {
//时间戳
t := time.Now()
fmt.Println(t.Weekday().String())
}
时间格式化
时间类型有一个自带的 Format 方法进行格式化,需要注意的是Go语言中格式化时间模板不是常见的
Y-m-d H:M:S
而是使用Go语言的诞生时间 2006 年 1 月 2 号 15 点 04 分 05 秒。提示:如果想将时间格式化为 12 小时格式,需指定 PM。
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
// 格式化的模板为Go的出生时间2006年1月2号15点04分 Mon Jan
// 24小时制
fmt.Println(now.Format("2006-01-02 15:04:05.000 Mon Jan"))
// 12小时制
fmt.Println(now.Format("2006-01-02 03:04:05.000 PM Mon Jan"))
fmt.Println(now.Format("2006/01/02 15:04"))
fmt.Println(now.Format("15:04 2006/01/02"))
fmt.Println(now.Format("2006/01/02"))
}
原文地址:http://www.cnblogs.com/zouLearn/p/16811608.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性