ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 字符串拼接 > **字符串拼接通过 "+" 完成** ``` package main import "fmt" func main() { a := "你好!" b := "word" c := a + b fmt.Println(c) // 你好!word } ``` > **当所需要拼接的字符串长度较长,需要使用下面 字节缓冲的方法。** ``` package main import ( "bytes" // 引入 bytes包中 WriteString()的方法来写入 "fmt" "reflect" ) func main() { a := "你好!" b := "word" var c bytes.Buffer // 声明变量 c ,类型为字节缓冲 c.WriteString(a) // 写入字符串变量a的内容 c.WriteString(b) // 写入字符串 变量b的内容 fmt.Println(c.String()) // 你好!word fmt.Println(reflect.TypeOf(c)) // bytes.Buffer } ``` ### 字符串截取 > **使用 strings包的 Index() 方法对字符串搜索并截取,LastIndex()方法反向搜索字符串** ``` package main import ( "fmt" "strings" ) func main() { str := "holle,word!" // 正向搜索Index() index := strings.Index(str, "e") // 反向搜索LastIndex() lastindex := strings.LastIndex(str, "r") fmt.Println(index) // 4 fmt.Println(lastindex) // 8 fmt.Println(str[lastindex:]) // rd! fmt.Println(str[index:]) // e,word! fmt.Println(str[index:5]) // e } ``` ### 修改字符串 > **将字符转换成字节数组才能修改** ``` package main import "fmt" func main() { str := "Hello, world!" bytes := []byte(str) // 使用 for 循环 把前面两个[0][1] 替换成 ' ' 转换字节不能用 " " for i := 0; i < 2; i++ { bytes[i] = ' ' } fmt.Println(string(bytes)) // llo, world! } ``` ### 字符串格式化输出 > **使用 fmt 包的 Sprintf()方法,调用格式:** > **Sprintf(format,arg1,arg2,.......)** > **需要配合格式化动词,使用 "%"开头** ``` package main import "fmt" func main() { day := 1 hour := 24 // (格式化字符串,变量1,变量2) str := fmt.Sprintf("%d天有%d小时", day, hour) fmt.Println(str) //1天有24小时 } ``` ### GO语言中的字符串的常见操作(strings包) * * * **在Go语言的字符串中的常见操作** * strings.HasPrefix(s string, prefix string) bool:判断字符串s是否以prefix开头 * strings.HasSuffix(s string, suffix string) bool:判断字符串s是否以suffix结尾。 * strings.Index(s string, str string) int:判断str在s中首次出现的位置,如果没有出现,则返回-1 * strings.LastIndex(s string, str string) int:判断str在s中最后出现的位置,如果没有出现,则返回-1 * strings.Replace(str string, old string, new string, n int):字符串替换 * strings.Count(str string, substr string)int:字符串计数 * strings.Repeat(str string, count int)string:重复count次str * strings.ToLower(str string)string:转为小写 * strings.ToUpper(str string)string:转为大写 * strings.TrimSpace(str string):去掉字符串首尾空白字符 * strings.Trim(str string, cut string):去掉字符串首尾cut字符 * strings.TrimLeft(str string, cut string):去掉字符串首cut字符 * strings.TrimRight(str string, cut string):去掉字符串首cut字符 * strings.Field(str string):返回str空格分隔的所有子串的slice * strings.Split(str string, split string) \[\]string:返回str split分隔的所有子串的slice * strings.Join(s1 \[\]string, sep string):用sep把s1中的所有元素链接起来 * strings.Itoa(i int):把一个整数i转成字符串 * strings.Atoi(str string)(int, error):把一个字符串转成整数