====== GO ======
===== Install =====
==== Linux ====
mise use --global go@latest
This is best way.
==== Windows ====
use winget. But my antivirus blocks compiled files, even "Hello World", so this is just not working.
===== Environment variables =====
**GOROOT** - це шлях, де встановлено сам Go SDK (компілятор, стандартна бібліотека та інструменти).
**GOPATH** - це твій робочий простір (workspace). Сюди Go завантажує сторонні залежності, і тут зберігаються скомпільовані бінарні файли твоїх або завантажених програм.
Зараз ці змінні вже не треба задавати в конфігу. Можна подивитися командою
go env
Щоб все гарно працювало, в PATH має бути присутнім два каталоги:
$GOROOT/bin
$GOPATH/bin
це відбувається автоматично (mise, winget), але можна перевірити.
===== Налаштування VS Code workspace =====
на сервері створити каталог, в якому будуть складатися всі проєкти на Го:
mkdir -pv ~/Projects/go
cd ~/Projects/go
створити перший проєкт:
mkdir hello && cd hello
go mod init hello
зверни увагу, що тут назва каталогу проєкту та назва модуля (go mod init) збігаються. Це необов'язково, але зручно. Також, якщо модуль буде використовуватися в інших, можна прописати шлях на гітхабі:
go mod init github.com/username/
якщо такий модуль завантажити на відповідний гітхаб, то в інших проєктах можна його підтягнути:
go get github.com/username/
Далі потрібно переконатися, що в VS Code встановлені плагіни //golang.go//, //ms-vscode-remote.remote-ssh//
Підключитися до віддаленого хосту: викликати панель команд (Ctrl+Shift+P) -> "Remote-SSH: Connect to Host..." та обрати сервер із списку.
Відкрити перший проєкт за допомогою звичайного File -> Open Folder...
Наступні проєкти додавати через File -> Add Folder to Workspace...
Обов'язково зберегти workspace: File -> Save Workspace As... та зберегти у //~/Projects/go/my.code-workspace// (можна іншу назву файлу).
Відредагувати цей файл //my.code-workspace//, приблизно так:
{
"folders" : [
{
"path" : "hello"
},
{
"path" : "second"
}
],
"launch" : {
"configurations" : [
{
"cwd" : "${fileWorkspaceFolder}",
"mode" : "auto",
"name" : "Запустити поточний файл",
"program" : "${fileDirname}",
"request" : "launch",
"type" : "go"
}
],
"version" : "0.2.0"
},
"settings" : {},
"tasks" : {
"tasks" : [
{
"command" : "go run .",
"group" : {
"isDefault" : true,
"kind" : "build"
},
"label" : "Go Run Поточний Проєкт",
"options" : {
"cwd" : "${fileDirname}"
},
"presentation" : {
"clear" : true,
"echo" : false,
"focus" : true,
"panel" : "dedicated",
"reveal" : "always"
},
"type" : "shell"
}
],
"version" : "2.0.0"
}
}
Тепер для запуску проєкту потрібно відкрити в VS Code файл main.go в будь-якому проєкті та натиснути Ctrl+Shift+B (або //Terminal -> Run Build Task...//) і проєкт запуститься і виведе у вкладку терміналу внизу