Golang字符串类型
golang 2023-10-10 15:36:10
PHP Code复制内容到剪贴板
  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. // 字符串连接  
  16. s1 := "Tom"  
  17. s2 := "20岁"  
  18. msg1 := s1 + s2  
  19. fmt.Printf("msg1: %v\n", msg1) // Tom20岁  
  20.   
  21. msg2 := fmt.Sprintf("name=%s, age=%s", s1, s2) // name=Tom, age=20岁      %s表示占位符  
  22. fmt.Printf("msg2: %v\n", msg2)  
  23.   
  24. msg3 := strings.Join([]string{s1, s2}, ","// Tom,20岁      Join连接  
  25. fmt.Printf("msg3: %v\n", msg3)  
  26.   
  27. // ==效率最高,直接写入缓冲区  
  28. var buffer bytes.Buffer  
  29. buffer.WriteString("tom")  
  30. buffer.WriteString(",")  
  31. buffer.WriteString("20岁")  
  32. 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. // 字符串转数组  
  5. strToSplite := strings.Split(str, "")  
  6. fmt.Printf("strToSplite: %v\n", strToSplite)  
  7.   
  8. // 是否包含某一字符串  
  9. var isHaveString bool = strings.Contains(str, "lo")  
  10. fmt.Printf("isHaveString: %v\n", isHaveString)  
  11.   
  12. // 字符串全部转小写  
  13. strToLower := strings.ToLower(str)  
  14. fmt.Printf("strToLower: %v\n"strToLower)  
  15.   
  16. // 字符串全部转大写  
  17. strToUpper := strings.ToUpper(str)  
  18. fmt.Printf("strToUpper: %v\n"strToUpper)  
  19.   
  20. // 字符串是否以指定字符串为前缀(区分大小写)  
  21. strHasPrefix := strings.HasPrefix(str, "Hello")  
  22. fmt.Printf("strHasPrefix: %v\n", strHasPrefix)  
  23.   
  24. // 字符串是否以指定字符串结尾  
  25. strHasSuffix := strings.HasSuffix(str, "world")  
  26. fmt.Printf("strHasSuffix: %v\n", strHasSuffix)  
  27.   
  28. // 根据指定字符,获取其所在整个字符串的索引位置  
  29. strIndex := strings.Index(str, "l")  
  30. fmt.Printf("strIndex: %v\n", strIndex)  
  31.   
  32. // 根据指定字符,获取其最后一次索引位置  
  33. strLastIndex := strings.LastIndex(str, "l")  
  34. 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.   
  16. // 遍历map  
  17. // 将map转换为json字符串  
  18. jsonString, err := json.Marshal(CompanyIntro)  
  19. if err != nil {  
  20.     fmt.Println(err)  
  21.     return  
  22. }  
  23. // 打印json字符串  
  24. // fmt.Println(string(jsonString))  
  25. fmt.Printf("CompanyIntro: %v\n", string(jsonString))  
  26. // fmt.Println("ci", CompanyIntro)  

 

 

 

 

 

 

 

本文来自于:http://www.yoyo88.cn/study/golang/691.html

Powered by yoyo苏ICP备15045725号