golamg中string和slice

package main

import "fmt"

func main() {

	//string底层是一个byte数组,因此string也可以进行切片处理

	str := "hello@stargazer"
	//使用切片获取stargazer
	slice := str[6:]
	fmt.Println("slice = ", slice)

	//string是不可变的,不能通过str[0] = 'z'的方式来修改字符串
	//如果需要修改字符串,可以先将string->[]byte或者[]rune->修改->转成string
	//将"hello@stargazer"=>改成"zello@stargazer"

	arr1 := []byte(str)
	arr1[0] = 'z'
	str = string(arr1)
	fmt.Println("str = ", str)

	//转成[]byte后可以处理数字和英文,但是不能处理中文
	//[]byte按字节处理,而一个汉字是三个字节,因此会处出现乱码
	//将string转成[]rune,[]rune按字符处理,兼容汉字

	arr2 := []rune(str)
	arr2[0] = '北'
	str = string(arr2)
	fmt.Println("str = ", str)

}

  

posted @ 2022-03-01 12:55  Star_Gazer  阅读(44)  评论(0编辑  收藏  举报