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

在此代码中,我在一个切片中有四个字符串,但我想跳过第二个。怎么做?


要求的结果


Title

Profession

Gender

代码


package main


import "fmt"


func main() {

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

    for _, val := range data[1:] {

        fmt.Println(val)

    }

}


HUH函数
浏览 95回答 3
3回答

慕娘9325324

遍历整个切片并跳过第二个元素。的第一个返回值range是当前元素的索引(从0开始)。您可以使用它来决定是否要跳过。continue关键字将立即迭代到最内层循环的下一个元素,而不执行当前步骤的循环体的其余部分。package mainimport "fmt"func main() {    data := [...]string{"Title", "Description", "Profession", "Gender"}    for i, val := range data {        if i == 1 {            continue        }        fmt.Println(val)    }}

慕沐林林

如果你的切片总是一样的,你可以这样做:package mainimport "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)    }}在第一个示例中,您将按数组索引进行过滤,在第二个示例中,您将按当前数组索引的实际值进行过滤。

POPMUISE

你可以append像这样跳过package mainimport "fmt"func main() {    idxToSkip := 1    data := [...]string{"Title", "Description", "Profession", "Gender"}    for _, val := range append(data[:idxToSkip], data[idxToSkip+1:]...) {        fmt.Println(val)    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go