美文网首页
go strings 和strconv 字符串操作

go strings 和strconv 字符串操作

作者: 天空蓝雨 | 来源:发表于2020-07-20 09:02 被阅读0次
  • strings 字符串操作

package main
/* 练习 字符串的操作 */
import (
    . "fmt"
    _ "strconv"
    "strings"
)

// 字符串操作
/* strings */
// 包含
// func Contains(s, substr string) bool
func contains(){
    str := "我是yxl, 嘿嘿"
    Printf("%v \n", strings.Contains(str, "yxl"))
}

// 连接
// func Join(a []string, sep string) string
func join(){
    str_slice := []string{"yxl", "love", "gch"}
    Printf("%s", strings.Join(str_slice, "❤"))
}

// 字串索引
// func Index(s, sep string) int
func index(){
    str := "我是yxl, 嘿嘿"
    Printf("%d", strings.Index(str, "yxl"))  // 这里是字节的索引,所以汉字占3 个字节 此处结果为6

}
// 字符串重复 多次
// func Repeat(s string, count int) string
func repeat(){
    str := "我是yxl, 嘿嘿"
    Printf("%s", strings.Repeat(str, 3))


}
// 字串替换
// func Replace(s, old, new string, n int) string
func replace(){
    str := "我是yxl, 嘿嘿"
    new_str := strings.Replace(str, "yxl", "gch", 1)  // 最后的参数, >= 0 尽可能替换, 小于0 全部替换
    Printf(new_str) 
}
// 分割为 切片
// func Split(s, sep string) []string
func split(){
    str := "我爱|徐州|更爱你"
    str_slice := strings.Split(str, "|") 
    Printf("%v", str_slice)

}
// 去掉 两边的字符, 和 py 类似, 属于递归清除每个字符,而不是当做整个子字符 清除, "abc" 清除 两边的 a、b、c 而不是 abc 整体
// func Trim(s string, cutset string) string
func delete_char(){  
    str := "* 前面有空格,后面也有 *"
    Println("原始字串:", str)
    str = strings.Trim(str, " *")
    Printf("清除两边字符后为:%v", str)

}
// 按照空白符切割,返回切片
// func Fields(s string) []string
func split_by_space(){
    str := "    前空格, 后空格        "
    Printf("原始字符:%v", str)
    new_str_slice := strings.Fields(str)
    Printf("操作之后的字符串:%v, 操作之后的切片: %v", str, new_str_slice)
    // > 原始字符:  前空格, 后空格        操作之后的字符串:   前空格, 后空格        , 操作之后的切片: [前空格, 后空格]
}




func main(){
    // contains()
    // join()
    // index()
    // repeat()
    // replace()
    // split()
    // delete_char()
    split_by_space()

}
  • strconv 字符串转换

实现基本数据类型转换为 字符串的操作
Append 系列 酱整数转化为字符串后,添加到现有的字节数组中

// func AppendInt(dst []byte, i int64, base int) []byte  base 是进制如 10 表示十进制
// func AppendQuote(dst []byte, s string) []byte  会添加字符的双引号
// func AppendQuoteRune(dst []byte, r rune) []byte   添加单引号的字符, 双引号会报错
func append(){
    str := make([]byte, 0, 100)
    str = strconv.AppendInt(str, 4567, 10)
    str = strconv.AppendBool(str, false)
    str = strconv.AppendQuote(str, "abcdefg")
    str = strconv.AppendQuoteRune(str, '单')
    Println(string(str))
    // > 4567false"abcdefg"'单'
}

Format 系列函数把其他类型的转换为字符串

// func FormatFloat(f float64, fmt byte, prec, bitSize int) string  这个看不懂
// func Itoa(i int) string 等价于 FormatInt(int64(i), 10)
func format(){
    a := strconv.FormatBool(false)
    b := strconv.FormatFloat(123.23, 'g', 12, 64)
    c := strconv.FormatInt(1234, 10)
    d := strconv.FormatUint(12345, 10)
    e := strconv.Itoa(1023)
    Println(a, b, c, d, e)
    //> false 123.23 1234 12345 1023
}

Parse 系列函数把字符串转换为其他类型

    a, _:= strconv.ParseBool("false")

    b, _:= strconv.ParseFloat("123.23", 64)

    c,_ := strconv.ParseInt("1234", 10, 64)

    d, _ := strconv.ParseUint("12345", 10, 64)

    e, _ := strconv.Atoi("1023")

    Println(a, b, c, d, e)
> false 123.23 1234 12345 1023

相关文章

  • 7.Golang字符串操作

    Go 语言对字符串的操作主要集中在 strings 包中。常见的字符串操作有: 1. 字符串转数字strconv....

  • go strings 和strconv 字符串操作

    strings 字符串操作 strconv 字符串转换 实现基本数据类型转换为 字符串的操作Append 系列...

  • Go库

    标准库 字符串处理strings:包含了常规的字符串操作。比如查找、替换、切割等。strconv:包含了字符串和其...

  • go-day3

    go-day3 outline strings 和 strconv 使用 Go中的时间和日期类型 流程控制 函数详...

  • strings 和 strconv 包

    strings 和 strconv 包 前缀和后缀 HasPrefix 判断字符串 s 是否以 prefix 开头...

  • Go语言基础之strconv标准库

    Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换。 strconv包 strconv包实现了基...

  • [Golang]strconv包常用函数笔记解释

    strconv strconv.Quote(s string)string -> 返回字符串在go语法下的双引号字...

  • goland错误捕获

    在Go中有一部分函数总是能成功的运行。比如strings.Contains和strconv.FormatBool函...

  • go中的string和strconv包

    go为string提供了strings包来进行字符串的主要操作。 HasPrefix判断字符串是否已prefix开...

  • go语言strings库总结

    最近由于用go做字符串处理,用到了go的strings库,借此对go strings库做个总结,将go strin...

网友评论

      本文标题:go strings 和strconv 字符串操作

      本文链接:https://www.haomeiwen.com/subject/bbqnhktx.html