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 .
Wyzwanie
ŁatwyW 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
1Wprowadzenie
WprowadzeniePoćwicz samodzielnie: Kompilator Go online