Go学习1 – 字符串相关

是否以xxx开头

package main

import(
    "fmt"
    "strings"
)

func main(){
    name := "张三"
    result := strings.HasPrefix(name, "张")
    fmt.Println(result) //输出:true
}

获取长度

...
import(
    "unicode/utf8"
)
var name string = "张三"
fmt.Println(len(name))                    //获取字节长度,输出:8
fmt.Println(utf8.RuneCountInString(name)) //获取字符长度,输出:3

是否以xxx结尾

import(
    "strings"
)
name := "张三"
result := strings.HasSuffix(name, "三")
fmt.Println(result) //输出:true

是否包含

import(
    "strings"
)
name := "床前明月光,疑是地上霜"
result := strings.Contains(name, "明月")
fmt.Println(result) //输出:true

变大写

import(
    "strings"
)
name := "zhangsan"
result := strings.ToUpper(name)
fmt.Println(result) //输出:ZHANGSAN

变小写

import(
    "strings"
)
name := "ZHANGSAN"
result := strings.ToLower(name)
fmt.Println(result) //输出:zhangsan

去两边

import(
    "strings"
)
name := "zhangsanfeng"
result1 := strings.TrimRight(name, "feng") //去除右边的feng
result2 := strings.TrimLeft(name, "z") //去除左边的z
result3 := strings.Trim(name, "z") //去除两边的z
fmt.Println(result1, result2, result3) //输出zhangsan hangsanfeng hangsanfeng

替换

import(
    "strings"
)
name := "zhangsansanfeng"
resultl := strings.Replace(name, "san", "PE", 1) // 找到san替换为PE,从左到右找第一个替换
result2 := strings.Replace(name, "san", "PE", 2) // 找到san替换为PE,从左到右找前两个替换
result3 := strings.Replace(name, "san", "PE",-1) // 找到san替换为PE,替换所有
fmt.PrintIn(result1, result2, result3)

分割

import(
    "strings"
)
name := "床前明月光疑是地上霜"
result := strings.Split(name, "光")
//根据"光"进行切割,获取一个切片(类似于一个数组)
fmt.Println(result) //输出:[床前明月,疑是地上霜]

拼接

import(
    "strings"
    "bytes"
)
//不建议
message := "我爱"+"北京天安门"
fmt.Println(message)

//建议:效率高一些
dataList := []string{"我爱", "北京天安门"}
result := strings.Join(dataList, "")
fmt.Println(result) //输出:我爱北京天安门

//建议,效率高些,go1.10之前
var buffer bytes.Buffer
buffer.WriteString("你想")
buffer.WriteString("找我")
buffer.Writestring("干嘛")
data := buffer.String()
fmt.Print(data)

// 建议:效率更更更更高一些 (go 1.10之后)
var builder strings.Builder
builder.WriteString("哈哈哈")
builder.WriteString("去你的吧")
value := builder.String()
fmt.Print(value)

string转为int

import(
    "strconv"
)
num := "666"
//内部调用就是ParseInt
var data, _ = strconv.Atoi(num)
fmt.Println(data)

//整型转字符串( strconv.ParseInt 和 strconv.FormatInt 可用处理进制转换)
var result, err = strconv.ParseInt(num, 10, 32)
fmt.Println(result, err)

int转string

import (
    "strconv"
)
var result = strconv.itoa(888)
fmt.PrintIn(result)

字符串和字节集合

import(
    "strconv"
    "unicode/utf8"
)
var name string = "张三"
// 字符串转换为一个"字节集合
byteSet := []byte(name)
fmt.Println(byteSet) 
// 字节的集合转换为字符串
byteList := []byte{230,173,166,230,178,155,233,189,144}
targetString := string(bytelist)
fmt.Println(targetString)

字符串和rune集合

import(
    "strconv"
    "unicode/utf8"
)
var name string = "张三"
// 将字符串转换为 unicode字符集码点的集合
tempSet := []rune(name)
fmt.Println(tempSet) 
fmt.Println(tempSet[0], strconv.FormatInt(int64(tempSet[0]),16))
fmt.Println(tempSet[1], strconv.FormatInt(int64(tempSet[1]),16))
fmt.Println(tempSet[2], strconv.FormatInt(int64(tempset[2]),16))
//“rune集合” 转换 为字符串
runeList := []rune{27494,27803,407843}
targetName := string(runeList)
fmt.Println(targetName)

string和字符串

import(
    "unicode/utf8'
)
// 数字转字符串
v1 := string(65)
fmt.Println(v1) //A

v2 := string(27494)
fmt.Println(v2) //武

//字符串转数字
v3, size := utf8.DecodeRuneInString("A")
fmt.Println(v3, size) //65      1

v4, size := utf8.DecodeRuneInString("武")
fmt.Println(v4, size) //27494   2
本文为 今天也想见到你 博客文章,转载无需和我联系,但请注明来自 今天也想见到你 博客 0925.wang
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇