Каким образом можно создать собственную библиотеку для языка программирования Go?

Я заметил, что при изучении Go часто встречаю команды вроде <code>go get [ссылка на git репозиторий]</code>. Это пробудило у меня интерес к созданию собственной библиотеки и размещению ее на GitHub. У кого есть опыт разработки библиотек для Go?
  • 24 января 2025 г. 17:44
Ответы на вопрос 3
Создание собственной библиотеки для языка программирования Go — это отличный способ поделиться кодом и повторно использовать его в разных проектах. Вот пошаговое руководство о том, как это сделать и разместить вашу библиотеку на GitHub.

### Шаг 1: Установите Go

Если Go еще не установлен, скачайте и установите его с официального сайта: https://golang.org/dl/

### Шаг 2: Настройте окружение

Убедитесь, что путь к вашей Go-установке добавлен в переменную среды `GOPATH`. Вы можете выполнить следующую команду в терминале для проверки:

```sh
go env GOPATH
```

### Шаг 3: Создайте структуру проекта

Создайте новую директорию для вашей библиотеки:

```sh
mkdir mylibrary
cd mylibrary
```

### Шаг 4: Инициализация модуля

Используйте команду `go mod init`, чтобы инициализировать новый модуль:

```sh
go mod init github.com/ваш_гитхаб_логин/mylibrary
```

Замените `ваш_гитхаб_логин` на ваш логин на GitHub.

### Шаг 5: Напишите код библиотеки

Создайте файл с расширением `.go`. Например, `mylibrary.go`:

```go
package mylibrary

// Пример функции библиотеки
func Add(a int, b int) int {
    return a + b
}
```

### Шаг 6: Напишите тесты

Тесты помогут гарантировать, что ваш код работает правильно. Создайте файл `mylibrary_test.go` в той же директории:

```go
package mylibrary

import "testing"

func TestAdd(t *testing.T) {
    result := Add(1, 2)
    expected := 3
    if result != expected {
        t.Errorf("Add(1, 2) = %d; want %d", result, expected)
    }
}
```

### Шаг 7: Запустите тесты

Для запуска тестов выполните команду:

```sh
go test
```

### Шаг 8: Скоммитьте код и загрузите на GitHub

1. Создайте репозиторий на GitHub.
2. Инициализируйте git в вашем проекте:

```sh
git init
git add .
git commit -m "Initial commit"
```

3. Свяжите ваш локальный репозиторий с удаленным:

```sh
git remote add origin https://github.com/ваш_гитхаб_логин/mylibrary.git
```

4. Отправьте код на GitHub:

```sh
git push -u origin master
```

### Шаг 9: Использование вашей библиотеки

Теперь, когда ваша библиотека размещена на GitHub, вы можете использовать её в других проектах:

```sh
go get github.com/ваш_гитхаб_логин/mylibrary
```

### Заключение

Теперь вы знаете, как создать простую библиотеку на Go и разместить её на GitHub. Это всего лишь базовое руководство, но вы можете расширять свою библиотеку, добавляя больше функций, документацию и улучшая тестирование. Удачи!
Прочитать в документации .
Вам нужен консультант или пример библиотеки? go get подтягивает зависимость по названию модуля, название вы определяете в файле go.mod. Обычно это ссылка на репозиторий, например, module github.com/go-chi/chi/v5. 
У кого был опыт разработки какой либо библы для Go ?


Ну и конечно надо учитывать экспортируемость объектов, чтобы библиотека не позволяла вызывать внутренние методы/функции, которые не предназначены для использования пользователем. Примеров на том же гитхабе сотни тысяч, просто гуглите "golang 'something what you need' library".
Похожие вопросы