为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
一只名叫tom的猫 2023-05-22 16:54:32
我正在尝试遍历一段字符串并向每个字符串添加 10,例如:package mainimport "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未定义。
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

使用此代码将“10”附加到每个切片元素:


package main


import "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,该变量被丢弃。

此答案中的代码传递切片值而不是传递指向切片的指针。在这种情况下没有必要传递指针,传递指针也没有性能优势。只传递值更简单。


查看完整回答
反对 回复 2023-05-22
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信