Удаление элемента из среза

Board index Программирование GoLand

Description: Программирование на языке Go

#1by mexan » 17.01.2025, 15:37

Для удаления элемента из среза в GoLand можно использовать функцию append() в сочетании с указанием диапазона в срезе.

Code: Select all
package main

import "fmt"

func main() {
    slice := []int{1, 2, 3, 4, 5}

    // Предположим, что нам нужно удалить элемент с индексом 2
    indexToRemove := 2

    // Используем операторы диапазона для создания нового среза,
    // исключая элемент с указанным индексом
    newSlice := append(slice[:indexToRemove], slice[indexToRemove+1:]...)

    fmt.Println(slice)     // [1 2 3 4 5]
    fmt.Println(newSlice)  // [1 2 4 5]
}

В данном примере есть исходный срез slice = [1 2 3 4 5]. Мы хотим удалить элемент с индексом 2, который имеет значение 3.
Используя операторы диапазона slice[:indexToRemove] и slice[indexToRemove+1:], мы создаем новый срез newSlice, который исключает элемент с указанным индексом.

Затем мы используем функцию append() с троеточием ..., чтобы добавить все элементы из диапазона слайсов в новый срез.
В результате получаем исходный срез slice = [1 2 3 4 5] и новый срез newSlice = [1 2 4 5], где элемент с индексом 2 (значение 3) был успешно удален.
Image
mexan
Администратор
Reputation: 0
Posts: 179
Topics: 138

Return to GoLand

cron