go语言:字符串操作

申明:本文只用做自己的学习记录

strings.Contains("test", "es")            // 是否包含 true
strings.Count("test", "t")                // 字符串出现字符的次数 2
strings.HasPrefix("test", "te")           // 判断字符串首部 true
strings.HasSuffix("test", "st")           // 判断字符串结尾 true
strings.Index("test", "e")                // 查询字符串位置 1
strings.Join([]string{"a", "b"}, "-")     // 字符串数组 连接 a-b
strings.Repeat("a", 5)                    // 重复一个字符串 aaaaa
strings.Replace("foo", "o", "0", -1)      // 字符串替换 指定起始位置为小于0,则全部替换 f00
strings.Replace("foo", "o", "0", 1)       // 字符串替换 指定起始位置1 f0o
strings.Split("a-b-c-d-e", "-")           // 字符串切割 [a b c d e]
strings.ToLower("TEST")                   // 字符串 小写转换 test
strings.ToUpper("test")                   // 字符串 大写转换 TEST
strings.Trim("!!!!!I Love you!!!!!", "!") // 去除字符串首尾指定字符"I Love you"
strings.Fields("  I love you   !  ")      // 去除字符串的空格字符,并按照空格分割返回slice

//str为空字符:str := make([]byte, 0, 100)
// Append 系列函数将 其他类型 转换成 字符串 后,添加到现有的字节数组中
str = strconv.AppendInt(str, 123, 10) 	//int转换成string
fmt.Println(string(str))	//123

str = strconv.AppendFloat(str, 3.141592, 'f', 4, 64) // float转换成string,'f'换成'e'便是科学计数法
fmt.Println(string(str))                             // 1233.1416

str = strconv.AppendBool(str, false) // <==> append(str, "false"...) // bool转换成string
fmt.Println(string(str))             // 1233.1416false

str = strconv.AppendQuote(str, "hello world") // 特殊符号转换string 包括双引号 
fmt.Println(string(str))                      // 1233.1416false"hello world"

str = strconv.AppendQuoteRune(str, '当')	// 汉字转换string
fmt.Println(string(str)) // 1233.1416false"hello world"'当'

// Format 系列函数把 其他类型转 换成 字符串
a := strconv.FormatBool(true) // bool类型转换成字符串 
fmt.Println(a)                // true

b := strconv.FormatInt(10, 2) // 整数10转换成二进制的字符串	
fmt.Println(b)                // 1010

c := strconv.FormatUint(123, 10) // 无符号int类型转换成十进制的字符串		
fmt.Println(c)                   // 123

d := strconv.Itoa(10) // 等价于:strconv.FormatInt(int64(i), 10)	
fmt.Println(d)        // 10

// Parse 系列函数把 字符串 转换为 其他类型
aa, err := strconv.ParseBool("false")	// string转换bool
fmt.Println(aa) // false

bb, err := strconv.ParseFloat("123.23", 64)	// string转换float
fmt.Println(bb) // 123.23

cc, err := strconv.ParseInt("1011", 2, 64)	// string转换2进制int64
fmt.Println(cc) // 11

dd, err := strconv.ParseUint("12345", 10, 64)	// string转换10进制无符号int64
fmt.Println(dd) // 12345

ee, err := strconv.Atoi("1023") // 等价于:ParseInt(s, 10, 0) // string转换10进制int
fmt.Println(ee)                 // 1023

string 不能直接和byte数组转换
eg:
string可以和byte的切片转换
string 转为[]byte
var str string = "test"
var data []byte = []byte(str)
 
byte转为string
var data [10]byte 
byte[0] = 'T'
byte[1] = 'E'
var str string = string(data[:])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值