Menu
Coddy logo textTech

Dodawanie i usuwanie elementów

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

Mapy w Go działają tak samo jak tablice i wycinki. Aby dodać nowy element do mapy, używamy tej samej składni co w przypadku tablicy, z tą różnicą, że w mapie określamy zarówno klucz, jak i wartość. Załóżmy na przykład, że mamy mapę taką jak ta:

var books = map[string]int{
    "Python":     1,
    "JavaScript": 2,
    "Rust":       3,
}

Nowy element dodajemy w ten sposób:

books["Golang"] = 4

Jeśli wypiszemy mapę, powinniśmy zobaczyć w niej Golang:

map[Golang:4 JavaScript:2 Python:1 Rust:3]

Możesz zauważyć, że mapy nie porządkują elementów. Dzieje się tak dlatego, że mapy nie przywiązują dużej wagi do kolejności elementów; priorytetem jest dla nich szybkie pobieranie wyników.

Pamiętaj, że dodając nowe elementy do mapy, powinniśmy używać tego samego typu co typ wartości mapy. 

Na przykład nie możemy zrobić tak:

books["Golang"] = "Learn Golang"

Ponieważ wartość w oryginalnej mapie jest typu całkowitego, a nie typu tekstowego.

Skoro wiemy już, jak dodawać i pobierać element, co zrobić, jeśli musimy usunąć element z mapy?

Do tego służy wbudowana funkcja delete. Składnia wygląda następująco:

Załóżmy, że musimy usunąć pierwszy element, którym jest „Python”:

delete(books, "Python")

Używamy słowa kluczowego delete, a w nawiasach podajemy nazwę mapy i klucz, który chcemy usunąć. W naszym przypadku jest to „Python”.

challenge icon

Wyzwanie

Łatwy

W podanym kodzie definiujemy mapę z 6 elementami. Wykonaj następujące kroki:

  • Dodaj nowy element z kluczem 6 i wartością "orange".
  • Usuń element z kluczem 10.
  • Używając pętli for, wypisz mapę w uporządkowany sposób, zaczynając od 1 i kończąc na końcu.

Spróbuj swoich sił

package main

import 	"fmt"


func main() {
	// Zdefiniuj mapę z 6 elementami. Nie zmieniaj tego! 
	fruits := map[int]string{
		1: "apple",
		2: "banana",
		3: "cherry",
		4: "date",
		5: "elderberry",
		10: "fig",
	}

	// Dodaj nowy element z kluczem 6 i wartością "orange"
	 

	// Usuń element z kluczem 10
 

	// Używając pętli for, wypisz mapę w kolejności od 1 do końca

}

Wszystkie lekcje w sekcji Slice’y i mapy w Go

Poćwicz samodzielnie: Kompilator Go online