如何將Golang數(shù)組slice轉(zhuǎn)為逗號分隔的string字符串
Golang數(shù)組slice轉(zhuǎn)為逗號分隔的string字符串
如將:
var a = []int{1,2,3,4}變?yōu)?quot;[1,2,3,4]"。
最硬核的辦法就是建一個slice的臨時中轉(zhuǎn):[]string 類型, 然后用strings.Join():
var src = []int{1,2,3,4}
var temp = make([]string, len(src))
for k, v := range src {
? ? temp[k] = fmt.Sprintf("%d", v)
}
var result = "[" + strings.Join(temp, ",") + "]"然后不久后想到了一個比較簡便的方法json.Marshal():
var a = []int{1,2,3,4}
b, err := json.Marshal(a)
if err != nil {
?? ?panic(err)
}
var result = string(b)go數(shù)組或切片轉(zhuǎn)為字符串問題
基本介紹
1)string底層是一個byte數(shù)組,因此string也可以進行切片處理,案例演示:
package main
import (
"fmt"
)
func main() {
// 1. string底層是一個byte數(shù)組,因此string也可以進行切片處理
str := "tianwanggaidihu"
// 使用切片獲取到atguigu
slice := str[6:]
fmt.Println("slice=",slice)
}2)string和切片在內(nèi)存的形式,以"abcd"畫出內(nèi)存示意圖

3)string是不可變的,也就是說不能通過 str[0]='z'方式來修改字符串

4)如果需要修改字符串,可以先將string => []byte 或者 []rune => 修改 => 重寫轉(zhuǎn)成string
package main
import (
"fmt"
)
func main() {
// 4. 如果需要修改字符串,可以先將string => []byte 或者 []rune => 修改 => 重寫轉(zhuǎn)成string
// 轉(zhuǎn)成byte可以處理英文和數(shù)字,但是不能處理中文
// 原因是 []byte 是一個字節(jié),而一個漢字是 3個字節(jié),因此會出現(xiàn)亂碼
// 解決辦法是將string 轉(zhuǎn)成 []rune 即可,因為 []rune是按字符處理,兼容漢字
// 1)轉(zhuǎn)成 []byte
var str1 = "moerwubuhaha北京歡迎你"
slice1 := []byte(str1)
slice1[0] = 'z'
slice1[len(slice1) - 1] = 'z'
str1 = string(slice1)
fmt.Println("使用[]byte處理string:",str1)
// 2)轉(zhuǎn)成 []rune
var str2 = "您好啊shenmeniuma北京歡迎你,天安門歡迎您"
slice2 := []rune(str2)
slice2[0] = '牛'
str2 = string(slice2)
fmt.Println("使用[]rune處理string:",str2)
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入了解Golang網(wǎng)絡(luò)編程Net包的使用
net包主要是增加?context?控制,封裝了一些不同的連接類型以及DNS?查找等等,同時在有需要的地方引入?goroutine?提高處理效率。本文主要和大家分享下在Go中網(wǎng)絡(luò)編程的實現(xiàn),需要的可以參考一下2022-07-07
Go并發(fā)編程結(jié)構(gòu)體多字段原子操作示例詳解
這篇文章主要為大家介紹了Go并發(fā)編程結(jié)構(gòu)體多字段原子操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12
Go語言使用HTTP包創(chuàng)建WEB服務(wù)器的方法
這篇文章主要介紹了Go語言使用HTTP包創(chuàng)建WEB服務(wù)器的方法,結(jié)合實例形式分析了Go語言基于HTTP包創(chuàng)建WEB服務(wù)器客戶端與服務(wù)器端的實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下2016-07-07
Go語言實現(xiàn)大文件分片上傳與斷點續(xù)傳功能
在現(xiàn)代 Web 應(yīng)用中,大文件上傳是一個常見需求,為了解決這些痛點,通常采用 分片上傳 與 斷點續(xù)傳 的方案,本文將帶你使用 Go 實現(xiàn)一個簡易的大文件分片上傳與斷點續(xù)傳服務(wù),希望對大家有所幫助2025-09-09
Go語言實現(xiàn)一個Http Server框架(二) Server的抽象
上一篇文章對http庫的基本使用做了說明,這篇文章主要介紹了如何實現(xiàn)一個簡單地httpServer,文中代碼示例非常詳細,感興趣的朋友可以參考下2023-04-04

