Go字符串常用处理

应用到strings包

/**
 * @Author: jadeshu
 * @Description:
 * @File:  main
 * @Version: 1.0.0
 * @Date: 2019/11/7 1:01
 */
package main

import (
        "fmt"
        "strconv"
        "strings"
)

func main() {
        // 字符串连接组合
        s := []string{"foo", "bar", "baz"}
        fmt.Println(strings.Join(s, "|"))

        // 字符串分割,返回切片
        str := "foo@bar@hhh"
        fmt.Println(strings.Split(str, "@"))

        // 字符串中是否包含子串
        b := strings.Contains(str, "oo")
        fmt.Println(b)

        // 字符串所在位置的索引 从0开始,不存在返回-1
        index := strings.Index(str, "ar")
        fmt.Println(index)

        // 字符串重复
        repeat := strings.Repeat(str, 3)
        fmt.Println(repeat)

        // 去掉字符串首尾空格
        str = "      I  am  str?    "
        fmt.Println("原来字符串内容:", str)
        trim := strings.Trim(str, " ")
        fmt.Println("去首尾空格后字符串内容:", trim)

        // 去掉字符串所有空格
        fields := strings.Fields(str)
        fmt.Println(fields)
        for i, data := range fields {
                fmt.Println(i, data)
        }

        // ==========字符串转换================
        // 字符串追加 ,先将内容转换为字符串在添加到数组中
        //slice := append([]byte("hello "), "world"...)
        slc := make([]byte, 0, 1024)
        //slc := append([]byte("hello "), "jadeshu")
        //slc = append(slc,'X')
        fmt.Println(slc)
        //fmt.Println(slice)
        // 将bool值转换为字符串并追加到字节切片中  AppendXX函数
        slc = strconv.AppendBool(slc, true)
        fmt.Println(string(slc))
        slc = strconv.AppendInt(slc, 1056, 10)
        fmt.Println(string(slc))
        slc = strconv.AppendQuote(slc, "adsad计算机的")
        fmt.Println(string(slc))
        slc = strconv.AppendQuoteRune(slc, '你')
        fmt.Println(string(slc))

        // 将其他格式值转换为字符串   FormatXXX函数
        str2 := strconv.FormatBool(true)
        fmt.Println(str2)
        str2 = strconv.FormatInt(5056, 10)
        fmt.Println(str2)
        str2 = strconv.FormatFloat(3.1415926, 'f', -1, 64)
        fmt.Println(str2)

        // 整数转字符串
        str2 = strconv.Itoa(1000)
        fmt.Println(str2)
        // 字符串整数转整数
        in, e := strconv.Atoi("234")
        if e != nil {
                fmt.Println(e.Error())
        }
        fmt.Println(in)

        // 字符串转其他类型
        // ---1.字符串转bool值
        bflg, _ := strconv.ParseBool("false")
        fmt.Println(bflg)
        // ---2.字符串转整数
        i, _ := strconv.ParseInt("456", 10, 32)
        fmt.Println(i)
}