Па

Пакети у Go

1 вправа

Про концепцію Пакети

У Go застосунок організовано в пакети. Пакет - це набір вихідних файлів, розташованих в одній папці. Усі вихідні файли в папці повинні мати однакову назву пакета на початку файлу. За домовленістю пакети називають так само, як папку, у якій вони розташовані.

package greeting

Go надає велику стандартну бібліотеку пакетів, які ми можемо використовувати у своїй програмі за допомогою ключового слова import. Стандартні пакети бібліотеки імпортують за їхньою назвою.

package greeting

import "fmt"

Кілька пакетів можна імпортувати одночасно, записавши їх у дужках.

package greeting

import (
    "errors"
    "fmt"
)

Сторонні пакети імпортують за URL-адресою їхнього розташування. Пакету можна дати псевдонім під час імпорту. Це можна використати, щоб уникнути конфліктів назв пакетів:

package greeting

import (
	"errors"

	errs "github.com/pkg/errors"
)

До імпортованого пакета звертаються за назвою пакета або псевдонімом:

// using the internal errors package
errors.New("Connection not established")

// using the errors package located at github.com/pkg/errors by alias
errs.New("Connection not established")

Go визначає, чи можна викликати елемент з коду в інших пакетах, залежно від того, як його оголошено. Щоб зробити функцію, тип, змінну або константу доступними ззовні (відомі як exported), назва має починатися з великої літери. Це аналогічно до того, як інші мови програмування, наприклад Java, використовують модифікатори доступу, як-от public і private.

package greeting

// Hello is a public function (callable from other packages).
func Hello(name string) string {
    return "Hello " + name
}

// hello is a private function (not callable from other packages).
func hello(name string) string {
    return "Hello " + name
}

Те саме стосується назв полів у власних типах struct: назви полів, що починаються з великої літери, є доступними ззовні, а ті, що починаються з малої літери, ні.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці

Вивчити концепцію Пакети

Практика заблокована

Розблокуйте ще 1 вправу, щоб практикувати концепцію Пакети