1. // 声明方式,多个以``括起来  
  2. var str1 string = "hello world1"  
  3. var str2 = "hello world2"  
  4. str3 := "hello world3"  
  5. var html string = `  
  6.     <html>  
  7.     <head><title>hello goloang</title>  
  8.     </html>  
  9. `  
  10. fmt.Printf("str1: %v\n", str1)  
  11. fmt.Printf("str2: %v\n", str2)  
  12. fmt.Printf("str3: %v\n", str3)  
  13. fmt.Printf("html: %v\n", html)  

  14. // 字符串连接  
  15. s1 := "Tom"  
  16. s2 := "20岁"  
  17. msg1 := s1 + s2  
  18. fmt.Printf("msg1: %v\n", msg1) // Tom20岁  

  19. msg2 := fmt.Sprintf("name=%s, age=%s", s1, s2) // name=Tom, age=20岁      %s表示占位符  
  20. fmt.Printf("msg2: %v\n", msg2)  

  21. msg3 := strings.Join([]string{s1, s2}, ",") // Tom,20岁      Join连接  
  22. fmt.Printf("msg3: %v\n", msg3)  

  23. // ==效率最高,直接写入缓冲区  
  24. var buffer bytes.Buffer  
  25. buffer.WriteString("tom")  
  26. buffer.WriteString(",")  
  27. buffer.WriteString("20岁")  
  28. fmt.Printf("buffer.String(): %v\n", buffer.String()) // buffer.String(): tom,20岁  

 

Go语言字符串转义字符

转义符

含义

\r

回车符(返回行首)

\n

换行符(直接跳到下一行的同列位置)

\t

制表符(4个空格)

\'

单引号

\"

双引号

\\

反斜杠

 

Go语言字符串切片操作

PHP Code复制内容到剪贴板

  1. // 字符串切片操作  
  2. str := "hello world"  
  3. n := 3  
  4. m := 5  
  5. fmt.Println(str[n])     // 108          获取字符串索引位置为n的原始字节  
  6. fmt.Println(str[n:m])  // lo            截取的字符串索引位置为 n 到 m-1的字符串  
  7. fmt.Println(str[n:])   // lo world      截取的字符串索引位置为 n 到 len(s)-1 的字符串  
  8. fmt.Println(str[:m])   // hello         截取的字符串索引位置为 0 到 m-1 的字符串  

 

其他常用:

PHP Code复制内容到剪贴板

  1. // 打印字符串的长度  
  2. fmt.Printf("str: %v\n", len(str))  

  3. // 字符串转数组  
  4. strToSplite := strings.Split(str, "")  
  5. fmt.Printf("strToSplite: %v\n", strToSplite)  

  6. // 是否包含某一字符串  
  7. var isHaveString bool = strings.Contains(str, "lo")  
  8. fmt.Printf("isHaveString: %v\n", isHaveString)  

  9. // 字符串全部转小写  
  10. strToLower := strings.ToLower(str)  
  11. fmt.Printf("strToLower: %v\n", strToLower)  

  12. // 字符串全部转大写  
  13. strToUpper := strings.ToUpper(str)  
  14. fmt.Printf("strToUpper: %v\n", strToUpper)  

  15. // 字符串是否以指定字符串为前缀(区分大小写)  
  16. strHasPrefix := strings.HasPrefix(str, "Hello")  
  17. fmt.Printf("strHasPrefix: %v\n", strHasPrefix)  

  18. // 字符串是否以指定字符串结尾  
  19. strHasSuffix := strings.HasSuffix(str, "world")  
  20. fmt.Printf("strHasSuffix: %v\n", strHasSuffix)  

  21. // 根据指定字符,获取其所在整个字符串的索引位置  
  22. strIndex := strings.Index(str, "l")  
  23. fmt.Printf("strIndex: %v\n", strIndex)  

  24. // 根据指定字符,获取其最后一次索引位置  
  25. strLastIndex := strings.LastIndex(str, "l")  
  26. fmt.Printf("strLastIndex: %v\n", strLastIndex)  

 

打印输出:

str: 11

strToSplite: [h e l l o w o r l d]

isHaveString: true

strToLower: hello world

strToUpper: HELLO WORLD

strHasPrefix: false

strHasSuffix: true

strIndex: 2

strLastIndex: 9 

 

打印字典数据 

C/C++ Code复制内容到剪贴板

  1. // 查询企业简介  
  2. CompanyIntroId := 139  
  3. CompanyIntroIn, err := mapDetailCache.Cache(  
  4.     "ArticleDetail",  
  5.     configs.CacheEffectiveTime["ArticleDetail"],  
  6.     func(args ...any) (any, error) {  
  7.         articleModel := &models.Articles{}  
  8.         return articleModel.DetailById(CompanyIntroId)  
  9.     },  
  10.     CompanyIntroId)  
  11. if err != nil {  
  12.     return  
  13. }  
  14. CompanyIntro, _ := CompanyIntroIn.(*models.Articles)  

  15. // 遍历map  
  16. // 将map转换为json字符串  
  17. jsonString, err := json.Marshal(CompanyIntro)  
  18. if err != nil {  
  19.     fmt.Println(err)  
  20.     return  
  21. }  
  22. // 打印json字符串  
  23. // fmt.Println(string(jsonString))  
  24. fmt.Printf("CompanyIntro: %v\n", string(jsonString))  
  25. // fmt.Println("ci", CompanyIntro)