回答

收藏

golang append() 已评估但未使用

技术问答 技术问答 263 人阅读 | 0 人回复 | 2023-09-12

    func main(){      var array [10]int     sliceA := array[0:5]             append(sliceA,4)     fmt.Println(sliceA)}) B' D8 K9 @8 _% q
错误:append(sliceA,4) 已评估但未使用
2 O9 g1 b1 }# B' G
我不知道为什么。切片追加操作未运行…2 _' z- A" e2 `/ M6 _
                                                                3 A; m5 B  ^  m0 A( u; Q- g' X+ R
    解决方案:                                                                1 R$ t, g  s0 `' B- a7 |, z
                                                                在 Go 中,参数按值传递。9 u5 G/ [5 A0 U, l0 S6 x
典型append用法是:+ Q- X' g% s1 v4 [/ A( `; W
    a = append(a,x)
    " m7 K4 v) f( V3 _9 x9 ]: E
你需要写:) b5 w. M  w* ^7 E( }4 [+ Q* b
    func main(){     var array [10]int    sliceA := array[0:5]    / append(sliceA,4) // discard    sliceA = append(sliceA,4) // keep    fmt.Println(sliceA)}
    + z& }; F8 V7 A: i. X# ^2 l
输出" F1 t- U) R/ \' ]
    [0 0 0 0 0 4]/ c3 [  c1 t$ S9 a8 n0 Q
我希望它帮助。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则