遍历字符串切片并将每个字符串加 10

我正在尝试遍历一段字符串并向每个字符串添加 10,例如:


package main


import "fmt"


func addTen(ss *[]string) {

    for _, s := range *ss {

        s = fmt.Sprintf("%s10", s)

    }

}


func main() {

    ss := []string{"a", "b", "c"}

    addTen(&ss)

    fmt.Println(ss)

}

编译器抱怨s未定义。


一只名叫tom的猫
浏览 112回答 1
1回答

MM们

使用此代码将“10”附加到每个切片元素:package mainimport "fmt"func addTen(ss []string) {    for i, s := range ss {        ss[i] = fmt.Sprintf("%s10", s)    }}func main() {    ss := []string{"a", "b", "c"}    addTen(ss)    fmt.Println(ss)}关键点:将字符串分配给 slice 元素。代码s = fmt.Sprintf("%s10", s)分配给局部变量s,该变量被丢弃。此答案中的代码传递切片值而不是传递指向切片的指针。在这种情况下没有必要传递指针,传递指针也没有性能优势。只传递值更简单。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go