Golang學(xué)習(xí)筆記---字符串處理大全
源碼Github鏈接simpleStrProcess.go
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
/* 字符串基本操作--strings */
str := "sojaGolang"
// 是否包含 : true false
fmt.Println(strings.Contains(str, "soja"), strings.Contains(str, "nana"))
// 字符串長度 : 10
fmt.Println(len(str))
// 字符在字符串中的位置稚晚,從0開始,不存在返回-1 : 4 -1
fmt.Println(strings.Index(str, "G"), strings.Index(str, "i"))
// 判斷字符串是否以 xx 開頭 : true false
fmt.Println(strings.HasPrefix(str, "soja"), strings.HasPrefix(str, "Golang"))
// 判斷字符串是否以 xx 結(jié)尾 : false true
fmt.Println(strings.HasSuffix(str, "soja"), strings.HasSuffix(str, "Golang"))
// 判斷2個字符串大小钳榨,相等0,左邊大于右邊-1份殿,其他1 : 0 1 -1
str2 := "nanana"
fmt.Println(strings.Compare(str, str),strings.Compare(str, str2),strings.Compare(str2, str))
// 分割字符串 : 返回數(shù)組 [a b c d e f g f]
str3 := "a,b,c,d,e,f,g,f"
fmt.Println(strings.Split(str3, ","))
// 拼接字符串 : a-b-c-d-e-f
str4 := []string{"a", "b", "c", "d", "e", "f"}
fmt.Println(strings.Join(str4, "-"))
// 去除字符串兩端空格 : 13 5 world
str5 := " world "
str6 := strings.Trim(str5, " ")
fmt.Println(len(str5), len(str6), str6)
// 大小寫轉(zhuǎn)換 : iphone IPHONE
str7 := "iPhone"
fmt.Println(strings.ToLower(str7), strings.ToUpper(str7))
// 字符串替換 : iphone iPhone
str8 := "iphone"
str9 := strings.Replace(str8, "ip", "iP", 2)
fmt.Println(str8, str9)
/* 字符串類型轉(zhuǎn)換 strconv */
// 整型 轉(zhuǎn) 字符串
int1 := 12
str10 := strconv.Itoa(int1)
fmt.Println(str10)
// 字符串 轉(zhuǎn) 整型
int2, err := strconv.Atoi(str10)
if err == nil {
fmt.Println(int2)
} else {
fmt.Println(err)
}
// bool 轉(zhuǎn) 字符串
bool1 := true
str11 := strconv.FormatBool(bool1)
fmt.Println(str11)
// 字符串 轉(zhuǎn) bool
bool2, err := strconv.ParseBool(str11)
if err == nil {
fmt.Println(bool2)
} else {
fmt.Println(err)
}
// FormatFloat 將浮點數(shù) f 轉(zhuǎn)換為字符串值
// f:要轉(zhuǎn)換的浮點數(shù)
// fmt:格式標(biāo)記(b竖瘾、e、E俏扩、f、g弊添、G)
// prec:精度(數(shù)字部分的長度动猬,不包括指數(shù)部分)
// bitSize:指定浮點類型(32:float32、64:float64)
//
// 格式標(biāo)記:
// 'b' (-ddddp±ddd表箭,二進制指數(shù))
// 'e' (-d.dddde±dd赁咙,十進制指數(shù))
// 'E' (-d.ddddE±dd,十進制指數(shù))
// 'f' (-ddd.dddd免钻,沒有指數(shù))
// 'g' ('e':大指數(shù)彼水,'f':其它情況)
// 'G' ('E':大指數(shù),'f':其它情況)
//
// 如果格式標(biāo)記為 'e'极舔,'E'和'f'凤覆,則 prec 表示小數(shù)點后的數(shù)字位數(shù)
// 如果格式標(biāo)記為 'g','G'拆魏,則 prec 表示總的數(shù)字位數(shù)(整數(shù)部分+小數(shù)部分)
float1 := 3.14159265
str12 := strconv.FormatFloat(float1, 'f',5,64)
fmt.Println(str12)
}