Menu
Coddy logo textTech

Metody a funkcje

Część sekcji Logika i przepływ sterowania ścieżki GO w Coddy. Lekcja 10 z 68.

Chociaż zarówno metody, jak i funkcje wykonują operacje w Go, służą różnym celom i mają odrębne wzorce deklaracji. Zrozumienie tej różnicy jest kluczowe dla pisania przejrzystego, uporządkowanego kodu.

Funkcja jest samodzielna i niezależna. Nie należy do żadnego konkretnego typu:

func calculateArea(width, height float64) float64 {
    return width * height
}

Metoda jest przypisana do określonego typu za pomocą odbiorcy. Należy do tego typu i może uzyskiwać dostęp do jego danych:

func (r Rectangle) area() float64 {
    return r.Width * r.Height
}

Kluczowa różnica polega na sposobie ich wywoływania. Funkcje wywołuje się bezpośrednio po nazwie, natomiast metody wywołuje się na instancjach powiązanego z nimi typu, używając notacji kropkowej. Dzięki temu powiązaniu metody doskonale nadają się do definiowania zachowań, które naturalnie należą do Twoich własnych typów, podczas gdy funkcje sprawdzają się w operacjach ogólnego przeznaczenia, które nie muszą być powiązane z konkretnymi strukturami danych.

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Go online