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

如何跳过切片中的第二个元素?

如何跳过切片中的第二个元素?

Go
HUH函数 2023-02-14 17:47:05
在此代码中,我在一个切片中有四个字符串,但我想跳过第二个。怎么做?要求的结果TitleProfessionGender代码package mainimport "fmt"func main() {    data := [...]string{"Title", "Description", "Profession", "Gender"}    for _, val := range data[1:] {        fmt.Println(val)    }}
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

遍历整个切片并跳过第二个元素。


的第一个返回值range是当前元素的索引(从0开始)。您可以使用它来决定是否要跳过。continue关键字将立即迭代到最内层循环的下一个元素,而不执行当前步骤的循环体的其余部分。


package main


import "fmt"


func main() {

    data := [...]string{"Title", "Description", "Profession", "Gender"}

    for i, val := range data {

        if i == 1 {

            continue

        }

        fmt.Println(val)

    }

}


查看完整回答
反对 回复 2023-02-14
?
慕沐林林

TA贡献2016条经验 获得超9个赞

如果你的切片总是一样的,你可以这样做:


package main


import "fmt"


func main() {

    data := [...]string{"Title", "Description", "Profession", "Gender"}

    for i, val := range data {

        if i == 1 {

            continue

        }

        fmt.Println(val)


    }

}


但是,如果你想跳过描述而不考虑切片顺序,你可以这样做:


func main() {

    data := [...]string{"Title", "Gender", "Profession", "Description"}

    for _, val := range data {

        if val == "Description" {

            continue

        }

        fmt.Println(val)


    }

}


在第一个示例中,您将按数组索引进行过滤,在第二个示例中,您将按当前数组索引的实际值进行过滤。


查看完整回答
反对 回复 2023-02-14
?
POPMUISE

TA贡献1765条经验 获得超5个赞

你可以append像这样跳过


package main


import "fmt"


func main() {

    idxToSkip := 1

    data := [...]string{"Title", "Description", "Profession", "Gender"}

    for _, val := range append(data[:idxToSkip], data[idxToSkip+1:]...) {

        fmt.Println(val)

    }

}


查看完整回答
反对 回复 2023-02-14
  • 3 回答
  • 0 关注
  • 69 浏览
慕课专栏
更多

添加回答

举报

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