Golang字符串类型
PHP Code复制内容到剪贴板
- // 声明方式,多个以``括起来
- var str1 string = "hello world1"
- var str2 = "hello world2"
- str3 := "hello world3"
- var html string = `
- <html>
- <head><title>hello goloang</title>
- </html>
- `
- fmt.Printf("str1: %v\n", str1)
- fmt.Printf("str2: %v\n", str2)
- fmt.Printf("str3: %v\n", str3)
- fmt.Printf("html: %v\n", html)
- // 字符串连接
- s1 := "Tom"
- s2 := "20岁"
- msg1 := s1 + s2
- fmt.Printf("msg1: %v\n", msg1) // Tom20岁
- msg2 := fmt.Sprintf("name=%s, age=%s", s1, s2) // name=Tom, age=20岁 %s表示占位符
- fmt.Printf("msg2: %v\n", msg2)
- msg3 := strings.Join([]string{s1, s2}, ",") // Tom,20岁 Join连接
- fmt.Printf("msg3: %v\n", msg3)
- // ==效率最高,直接写入缓冲区
- var buffer bytes.Buffer
- buffer.WriteString("tom")
- buffer.WriteString(",")
- buffer.WriteString("20岁")
- fmt.Printf("buffer.String(): %v\n", buffer.String()) // buffer.String(): tom,20岁
Go语言字符串转义字符
转义符 | 含义 |
\r | 回车符(返回行首) |
\n | 换行符(直接跳到下一行的同列位置) |
\t | 制表符(4个空格) |
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
Go语言字符串切片操作
PHP Code复制内容到剪贴板
- // 字符串切片操作
- str := "hello world"
- n := 3
- m := 5
- fmt.Println(str[n]) // 108 获取字符串索引位置为n的原始字节
- fmt.Println(str[n:m]) // lo 截取的字符串索引位置为 n 到 m-1的字符串
- fmt.Println(str[n:]) // lo world 截取的字符串索引位置为 n 到 len(s)-1 的字符串
- fmt.Println(str[:m]) // hello 截取的字符串索引位置为 0 到 m-1 的字符串
其他常用:
PHP Code复制内容到剪贴板
- // 打印字符串的长度
- fmt.Printf("str: %v\n", len(str))
- // 字符串转数组
- strToSplite := strings.Split(str, "")
- fmt.Printf("strToSplite: %v\n", strToSplite)
- // 是否包含某一字符串
- var isHaveString bool = strings.Contains(str, "lo")
- fmt.Printf("isHaveString: %v\n", isHaveString)
- // 字符串全部转小写
- strToLower := strings.ToLower(str)
- fmt.Printf("strToLower: %v\n", strToLower)
- // 字符串全部转大写
- strToUpper := strings.ToUpper(str)
- fmt.Printf("strToUpper: %v\n", strToUpper)
- // 字符串是否以指定字符串为前缀(区分大小写)
- strHasPrefix := strings.HasPrefix(str, "Hello")
- fmt.Printf("strHasPrefix: %v\n", strHasPrefix)
- // 字符串是否以指定字符串结尾
- strHasSuffix := strings.HasSuffix(str, "world")
- fmt.Printf("strHasSuffix: %v\n", strHasSuffix)
- // 根据指定字符,获取其所在整个字符串的索引位置
- strIndex := strings.Index(str, "l")
- fmt.Printf("strIndex: %v\n", strIndex)
- // 根据指定字符,获取其最后一次索引位置
- strLastIndex := strings.LastIndex(str, "l")
- 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复制内容到剪贴板
- // 查询企业简介
- CompanyIntroId := 139
- CompanyIntroIn, err := mapDetailCache.Cache(
- "ArticleDetail",
- configs.CacheEffectiveTime["ArticleDetail"],
- func(args ...any) (any, error) {
- articleModel := &models.Articles{}
- return articleModel.DetailById(CompanyIntroId)
- },
- CompanyIntroId)
- if err != nil {
- return
- }
- CompanyIntro, _ := CompanyIntroIn.(*models.Articles)
- // 遍历map
- // 将map转换为json字符串
- jsonString, err := json.Marshal(CompanyIntro)
- if err != nil {
- fmt.Println(err)
- return
- }
- // 打印json字符串
- // fmt.Println(string(jsonString))
- fmt.Printf("CompanyIntro: %v\n", string(jsonString))
- // fmt.Println("ci", CompanyIntro)
上一篇 Golang数字类型
下一篇 Golang格式化输出