Ответ 1
Да. Используйте это
for _, val := range Arr[1:] {
// something to do with val
}
Или, если вы можете получить пустой срез:
for i := 1; i < len(Arr); i++ {
// something to do with Arr[i]
}
У меня есть следующие сегменты кода
for _, val := range Arr {
// something have to do with val
}
В Арре может быть более 1 элемента. Я хочу пропустить первый элемент Arr и продолжить цикл из второго элемента.
Например, если Арр содержит {1,2,3,4}. С запросом я просто хочу взять {2,3,4}.
Есть ли способ сделать это с запросом диапазона?
Да. Используйте это
for _, val := range Arr[1:] {
// something to do with val
}
Или, если вы можете получить пустой срез:
for i := 1; i < len(Arr); i++ {
// something to do with Arr[i]
}
Используйте стандартный цикл for
или оператор среза:
for _, val := range Arr[1:] {
// Do something
}
// Or
for i := 1; i < len(Arr); i++ {
val = Arr[i]
// Do something
}
конвертировать в срез, а затем пропустить первый элемент (с запросом диапазона):
package main
import "fmt"
func main() {
Arr := [...]int{1, 2, 3, 4}
for _, val := range Arr[1:] {
fmt.Println(val)
}
}
с помощью индекса пропустить первый элемент (с запросом диапазона):
package main
import "fmt"
func main() {
Arr := [...]int{1, 2, 3, 4}
for i, val := range Arr {
if i == 0 {
continue
}
fmt.Println(val)
}
}
используя один bool var, чтобы пропустить первый элемент (с запросом диапазона):
package main
import "fmt"
func main() {
Arr := [...]int{1, 2, 3, 4}
first := true
for _, val := range Arr {
if first {
first = false
continue
}
fmt.Println(val)
}
}
В случае, если вы сделаете что-то другое с первым значением, вы можете сделать это:
for i, val := range Arr {
if i == 0 {
//Ignore or do something with first val
}else{
// something have to do with val
}
}