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. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性