1 字符串操作
package main import ( "fmt" "strings" "strconv" ) func urlProcess(url string) string { result := strings.HasPrefix(url,"http://") if ! result{ url = fmt.Sprintf("http://%s",url) } return url } func pathProcess(path string) string { result := strings.HasSuffix(path,"/") if ! result{ path = fmt.Sprintf("%s/",path) } return path } func main() { var url,path string fmt.Scanf("%s%s",&url,&path) url = urlProcess(url) path = pathProcess(path) fmt.Println(url) fmt.Println(path) s:="Hello lol oHe" fmt.Println(s) s = strings.Replace(s,"lo","yang",1)//替换一次 s = strings.Replace(s,"lo","yang",-1)//全部替换 s = strings.Replace(s,"lo","yang",0)//替换0次 n:=strings.Count(s,"lo")//统计出现次数 s = strings.ToLower(s)//转化为小写 s = strings.ToUpper(s) //转化为大写 s = strings.TrimSpace(s)//去除首位空格 s = strings.Trim(s,"He")//去除首尾的He s = strings.TrimLeft(s,"He")//去除左边的He s = strings.TrimRight(s,"He")//去除右边的He s1 := strings.Fields(s) //返回字符串以空格分割的slice s2 := strings.Split(s,"o")//返回字符串o分割的slice index := strings.Index(s,"ol")//返回ol首次在s中出现的位置,没有的话返回-1 index := strings.LastIndex(s,"lo")//返回lo最后一次在s中出现的位置,没有的话返回-1 s = strings.Repeat(s,4) //重复字符串s四次 s = strings.Join(strings.Fields("hello world"),",")//将slice用,连接 a:=strconv.Itoa(10)//数字转字符串 fmt.Printf("%T ",a)//string fmt.Printf("%v ",a)//10 fmt.Printf("%#v ",a)//"10" fmt.Printf("%q ",a)//"10" num,err := strconv.Atoi("10a")//字符串转数字,会有异常 if err != nil{ fmt.Println("can not convert to int",err) } fmt.Println(num) fmt.Println(n) }
2 时间操作
package main import ( "time" "fmt" ) func test() { time.Sleep(time.Millisecond * 100)//100毫秒 } func main() { now := time.Now() fmt.Println(now) fmt.Printf("%T ",now) fmt.Println(now.Day()) fmt.Println(now.Minute()) fmt.Println(now.Month()) fmt.Println(now.Year()) //格式化 fmt.Printf("%02d-%02d-%02d %02d:%02d:%02d ",now.Year(),now.Month(),now.Day(),now.Hour(),now.Minute(),now.Second()) //格式化 fmt.Println(now.Format("2006-1-02 15:04:05")) start :=time.Now().UnixNano() test() end := time.Now().UnixNano() fmt.Printf("cost %d us",(end-start)/1000) //秒 毫秒 微妙 纳秒 }