Dodawanie elementu do wycinka
Lekcja 3 z 21 w kursie Slice’y i mapy w Go w Coddy.
Na poprzednich lekcjach omówiliśmy, że różnica między wycinkiem a tablicą polega na ich rozmiarze, co staje się widoczne podczas sprawdzania długości.
Na przykład, jeśli zdefiniujemy wycinek w ten sposób:
nums := []int{23, 5, 6}Nasz wycinek ma trzy elementy, a sprawdzenie długości za pomocą funkcji <strong>len()</strong> daje nam 3:
nums := []int{23, 5, 6}
fmt.Println(len(nums)) // 3Jeśli dodamy elementy do wycinka i sprawdzimy jego rozmiar, otrzymamy nowy rozmiar:
nums := []int{23, 5, 6, 9, 22}
fmt.Println(len(nums)) // 5Natomiast tablica ma stały rozmiar. Na przykład:
nums := [4]int{23}
fmt.Println(len(nums)) // 4Mimo że ma mniej niż 4 elementy, jej długość pozostaje stała.
Elementy dodaje się do wycinka za pomocą <strong>append</strong>:
books := []string{"Python", "Rust"}
books = append(books, "Golang")
fmt.Println(books)Wynik uruchomienia tego kodu:
[Python Rust Golang]W języku Golang wycinki mają wbudowane funkcje, a <strong>append()</strong> jest jedną z nich i umożliwia dodawanie nowych elementów do istniejącego wycinka.
Pamiętaj, że ze względu na dynamiczny rozmiar wycinków nie możemy używać indeksu do dodawania elementów (
<strong>books[2] = "Golang"</strong>nie zadziała).
Wyzwanie
ŁatwyNapisz program, który pobiera od użytkownika 3 dane wejściowe i dodaje je do tablicy o nazwie <strong>coddy</strong>, zgodnie z definicją w podanym kodzie. Wykonaj następujące kroki:
- Wypisz długość tablicy przed dodaniem elementów.
- Dodaj elementy do tablicy.
- Wypisz tablicę i zaktualizowaną długość po dodaniu elementów (w osobnych wierszach).
Spróbuj swoich sił
package main
import "fmt"
func main() {
// Pobierz dane wejściowe od użytkownika. Nie zmieniaj tego!
var first, second, third string
fmt.Scan(&first)
fmt.Scan(&second)
fmt.Scan(&third)
// Zdefiniuj wycinek
coddy := []string {"SQL","Rust","C#","Golang"}
// Wypisz długość
// Dodaj element do wycinka
// Wypisz wycinek i jego zaktualizowaną długość
}Wszystkie lekcje w sekcji Slice’y i mapy w Go
1Wprowadzenie
Wprowadzenie2Wycinki
Wycinki a tabliceDodawanie elementu do wycinkaWycinanieSposoby wycinaniaPonowne wycinaniePojemność wycinkaMaksymalna pojemnośćIterowanie po wycinkuWyzwanie podsumowujące nr 1Poćwicz samodzielnie: Kompilator Go online