V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
xdeng
V2EX  ›  Go 编程语言

go slice 怎么追加到头部?

  •  
  •   xdeng · 2018-11-09 17:59:28 +08:00 · 6981 次点击
    这是一个创建于 2191 天前的主题,其中的信息可能已经有所发展或是发生改变。
    go slice 怎么追加到头部?自带的 append 是追加到尾部的。
    7 条回复    2021-01-21 09:03:40 +08:00
    goofool
        1
    goofool  
       2018-11-09 18:27:37 +08:00 via Android   ❤️ 1
    额,两个参数换下位置?
    BBCCBB
        2
    BBCCBB  
       2018-11-09 18:34:28 +08:00   ❤️ 1
    将原来的数据往后移动几个位置, 然后把需要插入的数据放到前面, 参考 java 里 ArrayList 的 insert()实现
    hoiyd
        3
    hoiyd  
       2018-11-09 18:34:38 +08:00   ❤️ 1
    GGGG430
        4
    GGGG430  
       2018-11-09 18:45:58 +08:00 via iPhone   ❤️ 1
    你把 append 的参数调换一下不就行了吗
    xdeng
        5
    xdeng  
    OP
       2018-11-10 14:12:15 +08:00   ❤️ 1
    @GGGG430
    @goofool 你们说的对 我以为 append 只有一种方法 就是追加单个元素
    搜了下发现
    append 的用法有两种:
    slice = append(slice, elem1, elem2)
    slice = append(slice, anotherSlice...)
    tomari
        6
    tomari  
       2019-12-02 15:09:12 +08:00
    @xdeng 还有另一种用法 slice = append([]byte,byte)
    这就导致一个结果,如果想要给一个 byte 切片首部追加的话,无法用楼上说的几种方法。。
    lawrenceneah92
        7
    lawrenceneah92  
       2021-01-21 09:03:40 +08:00
    imgUrl := "/group1/2021/01/20/picture001.img"
    imgBytes := strings.Split(strings.Trim(imgUrl,"/"), "/")
    newBytes := append([]string{"head"},imgBytes...)
    fmt.Println(newBytes)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2709 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:49 · PVG 19:49 · LAX 03:49 · JFK 06:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.