Menu
Coddy logo textTech

Maksymalna pojemność

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

Na ostatniej lekcji rozmawialiśmy o pojemności i dowiedzieliśmy się, że podczas wykonywania wycinków pojemność jest określana od pozycji początkowej do końcowej pozycji wycinka. Możemy jednak użyć operatora lub wyrażenia wycinka, aby kontrolować lub ograniczać pojemność. Przyjrzyjmy się przykładowi:

Wiemy, że składnia operatora wycinka wygląda tak: <strong>[start:stop]</strong>, ale możemy dodać do tego operatora trzeci element, aby wyglądał tak: <strong>[start:stop:capacity]</strong>. Trzeci element pozwala ustawić maksymalną pojemność wycinka.

Używając pełnego wyrażenia wycinka, możesz więc utworzyć wycinek z innego wycinka i jednocześnie ograniczyć pojemność wycinka zwróconego przez to wyrażenie.

Załóżmy, że mamy taki wycinek:

numbers := []int{1, 2, 3, 4, 5, 6}

Utwórzmy z niego wycinek zawierający 3 elementy:

numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4]

Możemy przedstawić to w ten sposób:


Otrzymujemy więc 3 elementy i pojemność równą 5, tak jak pokazano na ilustracji.

Teraz użyjmy pojemności w operatorze wycinka i ustawmy ją na przykład na 3:

numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4:4]

Pomyśl o pojemności jak o pozycji elementu — ustawiamy ją tutaj na 4. Pamiętaj jednak, że pozycja końcowa nie może być większa niż pozycja pojemności .

challenge icon

Wyzwanie

Łatwy

W podanym kodzie definiujemy wycinek o nazwie coddy zawierający 6 elementów.

  • Wykonaj operację wycinania, aby wyodrębnić elementy "Tech" i "Learn Golang" z wycinka coddy, zapewniając przy tym pojemność równą 4.

Spróbuj swoich sił

package main

import (
	"fmt"
)

func main() {
    // Wycinek z 6 elementami 
	coddy := []string{"Coddy","Tech","Learn Golang","Learn JavaScript","C++","C#"}
	// Wykonaj tutaj wycinanie 
	 
	// Wyświetl elementy na ekranie
	fmt.Println("Elements:" ?)
	// Wyświetl pojemność
	fmt.Println("Capacity:" ?)

}

Wszystkie lekcje w sekcji Slice’y i mapy w Go

Poćwicz samodzielnie: Kompilator Go online