golang中字符串-字節切片,字符串-字符切片的互轉


package main

import (
	"fmt"
	"reflect"
)

func B2S(bs []uint8) string {
	// 將字節切片轉換成字符串
	ba := make([]byte, 0)  // 創建一個字節切片,默認容量0
	fmt.Println(ba, reflect.TypeOf(ba))  // 字節切片: [] 每一個元素是:uint8 類型: []uint8
	for i, v := range bs {
		fmt.Println(i, v)
		ba = append(ba, v)
	}
	return string(ba)
}

func Char2S(cs []int32) string {
	return string(cs)  // 將字符切片直接轉換成字符串
}

func main() {
	// 1. 字符串和字節切片的互轉
	bs := []byte("馬亞南")
	fmt.Println(bs)
	s1 := B2S(bs)
	fmt.Println(s1)

	// 2. 字符切片和字符串的互轉
	charSlice := make([]int32, 0)
	a := "馬亞南"
	for i, v := range a {  // 注意:range 也是賦值拷貝
		fmt.Println(i, v)
		v = int32(20122)  // a不會改變,還是馬亞南,因為range是賦值拷貝
		charSlice = append(charSlice, v)  // 由於charSlice是新構建的字符切片,所以它都是一個值 20122
	}
	fmt.Println(a)
	s2 := Char2S(charSlice)
	fmt.Println(s2)

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM