Menu
Coddy logo textTech

Wycinanie

Lekcja 4 z 21 w kursie Slice’y i mapy w Go w Coddy.

Przyjrzyjmy się bliżej koncepcji wycinania fragmentów i omówmy wyrażenie wycinające. Wycinanie fragmentu oznacza pobranie oryginalnej tablicy lub fragmentu i ograniczenie go. Aby lepiej to zrozumieć, przeanalizujmy kilka przykładów.

Załóżmy, że mamy w Go taki fragment:

arr := []string{"code", "coffee", "tea", "water"}

Załóżmy teraz, że chcemy pobrać z tego fragmentu tylko "code" i "coffee". Możemy to zrobić przez wycinanie fragmentu, jak pokazano poniżej:

newArr := arr[0:2]

Składnia wycinania fragmentu wygląda następująco: <strong>arr[start:stop]</strong>. Podajemy nazwę fragmentu lub tablicy, którą chcemy ograniczyć, a w nawiasach kwadratowych pozycję początkową, następnie dwukropek, a potem pozycję końcową.

Pozycja początkowa powinna być indeksem elementu we fragmencie, liczonym od zera.

Pozycja końcowa wskazuje pozycję elementu, a nie jego indeks, więc liczenie zaczyna się od 1.

W naszym przykładzie zaczynamy od indeksu 0 i pobieramy 2 elementy, co zapisujemy jako <strong>arr[0:2]</strong>. Jeśli pozycja początkowa wynosi 0, można ją pominąć, uzyskując ten sam wynik:

arr[:2]

W ten sposób pobieramy ze fragmentu elementy "code" i "coffee".

 Możemy dowolnie ustalać początek i koniec wycinanego fragmentu. Na przykład, jeśli chcemy pobrać ze fragmentu "coffee" i "tea", możemy zrobić to tak:

arr := []string{"code", "coffee", "tea", "water"}
newArr := arr[1:3]

 

challenge icon

Wyzwanie

Łatwy

W podanym kodzie definiujemy wycinek zawierający 6 elementów typu string. Użyj wycinania, aby pobrać wartości <strong>"apple"</strong> ,<strong>"orange"</strong> i <strong>"banana"</strong> z oryginalnego wycinka i wypisać je na ekranie.

Spróbuj swoich sił

package main

import "fmt"

func main() {
    // Wycinek fruits — nie zmieniaj tego!
	fruits := []string{"pineapple", "kiwi", "apple", "orange", "banana", "grape", "kiwi"}
	// Tworzenie wycinka z fruits
 
	// Wyświetl wycinek na ekranie 
	 
}

Wszystkie lekcje w sekcji Slice’y i mapy w Go

Poćwicz samodzielnie: Kompilator Go online