The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
Ossi

请教一下这句代码的作用

  •  
  •   Ossi · Jun 21, 2022 · 2149 views
    This topic created in 1596 days ago, the information mentioned may be changed or developed.

    components 是一个参数,类型是[]string ,不知道第四行代码的作用是干啥的。。 求教一下

    1	if len(components) == 0 {
    2 	  components = []string{":" + verb}
    3	} else {
    4 	  components = append([]string{}, components...)
    5  	 components[len(components)-1] += ":" + verb
    6	}
    
    Ritter
    Ritter
    Jun 21, 2022
    1
    deep copy 么
    molly2mollyzyz
    molly2mollyzyz
    Jun 21, 2022
    2
    拷贝对象?
    ikw
    ikw
    Jun 21, 2022❤️1
    3
    得结合上下文,目测是为了复制出来一份 components ,以免影响到函数调用方的 components
    Ossi
    Ossi
    OP
    Jun 21, 2022
    4
    @zwpaper 感谢,没往这方面想
    ikw
    ikw
    Jun 21, 2022
    5
    但是我还有点疑惑,下面是还会给 components 增加内容吗?为啥不用 copy ?
    Ossi
    Ossi
    OP
    Jun 21, 2022
    6
    @zwpaper 下面有很多读取 components 的操作,应该是为了不影响读取吧
    https://stackoverflow.com/questions/27055626/concisely-deep-copy-a-slice
    ikw
    ikw
    Jun 21, 2022
    7
    copy 也不影响读取,看你发的 so 的 benchmark ,append 性能不输 copy ,append 代码会简洁些,也许是这个考虑
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3026 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:35 · PVG 19:35 · LAX 03:35 · JFK 06:35
    ♥ Do have faith in what you're doing.