Menu
Coddy logo textTech

Получение срезов из существующих срезов/массивов

Часть раздела Основы путешествия по GO на Coddy — урок 80 из 109.

Вы можете создать новый срез из существующего среза или массива, указав диапазон с помощью синтаксиса [start:end].

Создайте срез чисел:

numbers := []int{10, 20, 30, 40, 50}
fmt.Println("Original:", numbers)

Извлеките элементы с индекса 1 по 3 (не включая 3):

slice1 := numbers[1:3]
fmt.Println("Slice [1:3]:", slice1)

Результат:

Original: [10 20 30 40 50]
Slice [1:3]: [20 30]

Вы также можете опустить начальный или конечный индекс:

slice2 := numbers[:2]  // От начала до индекса 2 (не включая 2)
slice3 := numbers[3:] // От индекса 3 до конца
fmt.Println("Slice [:2]:", slice2)
fmt.Println("Slice [3:]:", slice3)

Результат:

Slice [:2]: [10 20]
Slice [3:]: [40 50]
challenge icon

Задание

Новичок

В этом испытании вы попрактикуетесь в создании срезов из существующего среза для создания новых под-срезов. У вас есть срез фруктов, и вам нужно создать из него два новых среза:

  1. Срез, содержащий только первые три фрукта
  2. Срез, содержащий только последние два фрукта

Затем выведите оба новых среза, чтобы проверить свою работу.

Шпаргалка

Создайте новый срез из существующего среза или массива, используя синтаксис [start:end]:

numbers := []int{10, 20, 30, 40, 50}
slice1 := numbers[1:3]  // Элементы от индекса 1 до 3 (не включая 3)
fmt.Println(slice1)     // [20 30]

Вы можете опустить начальный или конечный индекс:

slice2 := numbers[:2]  // От начала до индекса 2 (не включая 2)
slice3 := numbers[3:]  // От индекса 3 до конца
fmt.Println(slice2)    // [10 20]
fmt.Println(slice3)    // [40 50]

Попробуйте сами

package main

import "fmt"

func main() {
	// Вот наш исходный срез фруктов
	fruits := []string{"apple", "banana", "orange", "grape", "kiwi"}
	
	// TODO: Создайте новый срез с именем 'firstThree', содержащий только первые три фрукта
	
	// TODO: Создайте новый срез с именем 'lastTwo', содержащий только последние два фрукта
	
	// Вывод результатов
	fmt.Println("First three fruits:", firstThree)
	fmt.Println("Last two fruits:", lastTwo)
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы