GoCasts آموزش Go به زبان ساده

بیش از ۱۰۰۰ شرکت‌کننده یادگیری Go و Backend رو از امروز شروع کن
ثبت‌نام دوره + تیم‌سازی

آموزش نصب گولنگ (Go) روی ویندوز، مک و لینوکس

برای شروع برنامه‌نویسی با Go، اولین قدم نصب کامپایلر و تنظیم محیط توسعه است. در این مقاله، نصب Go را روی سیستم‌عامل‌های مختلف به صورت گام به گام آموزش می‌دهیم.

پیش‌نیازها

قبل از نصب، مطمئن شوید که:

  • دسترسی ادمین یا sudo دارید
  • اتصال اینترنت فعال است
  • حداقل ۵۰۰ مگابایت فضای خالی دارید

دانلود Go

آخرین نسخه Go را از سایت رسمی دانلود کنید. در زمان نگارش این مقاله، نسخه پایدار Go 1.21 است.


نصب روی ویندوز

روش ۱: نصب با Installer (پیشنهادی)

۱. فایل go1.21.x.windows-amd64.msi را دانلود کنید

۲. روی فایل دوبار کلیک کنید و مراحل نصب را دنبال کنید

۳. مسیر پیش‌فرض نصب: C:\Go

۴. ترمینال جدید باز کنید و تست کنید:

go version

خروجی باید مشابه این باشد:

go version go1.21.0 windows/amd64

روش ۲: نصب دستی

۱. فایل go1.21.x.windows-amd64.zip را دانلود کنید

۲. محتویات را در C:\Go استخراج کنید

۳. متغیرهای محیطی را تنظیم کنید:

:: اضافه کردن Go به PATH
setx PATH "%PATH%;C:\Go\bin"

:: تنظیم GOPATH
setx GOPATH "%USERPROFILE%\go"

۴. ترمینال را ببندید و دوباره باز کنید


نصب روی مک (macOS)

روش ۱: با Homebrew (پیشنهادی)

# نصب Homebrew اگر ندارید
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# نصب Go
brew install go

# بررسی نسخه
go version

روش ۲: با Package Installer

۱. فایل go1.21.x.darwin-amd64.pkg (یا darwin-arm64.pkg برای M1/M2) را دانلود کنید

۲. روی فایل دوبار کلیک کنید

۳. مراحل نصب را دنبال کنید

۴. مسیر نصب پیش‌فرض: /usr/local/go

۵. به فایل پروفایل شل خود اضافه کنید:

# برای zsh (پیش‌فرض در macOS جدید)
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc
echo 'export GOPATH=$HOME/go' >> ~/.zshrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.zshrc
source ~/.zshrc

# برای bash
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bash_profile
source ~/.bash_profile

روش ۳: نصب دستی

# دانلود
curl -LO https://go.dev/dl/go1.21.0.darwin-amd64.tar.gz

# استخراج در /usr/local
sudo tar -C /usr/local -xzf go1.21.0.darwin-amd64.tar.gz

# تنظیم PATH
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc
source ~/.zshrc

نصب روی لینوکس

روش ۱: نصب دستی (همه توزیع‌ها)

# حذف نسخه قبلی (اگر وجود دارد)
sudo rm -rf /usr/local/go

# دانلود آخرین نسخه
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz

# استخراج
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz

# تنظیم PATH
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc

# بررسی نصب
go version

روش ۲: اوبونتو/دبیان با apt

# این روش ممکن است نسخه قدیمی‌تر نصب کند
sudo apt update
sudo apt install golang-go

# بررسی نسخه
go version

نکته: مخازن رسمی اوبونتو معمولاً نسخه‌های قدیمی‌تر Go را دارند. برای آخرین نسخه، روش دستی را استفاده کنید.

روش ۳: فدورا/RHEL/CentOS

sudo dnf install golang

# یا برای CentOS قدیمی
sudo yum install golang

روش ۴: Arch Linux

sudo pacman -S go

تنظیم محیط توسعه

GOPATH چیست؟

GOPATH مسیری است که Go برای ذخیره:

  • کدهای پروژه‌های شما
  • پکیج‌های دانلود شده
  • فایل‌های باینری کامپایل شده

استفاده می‌کند. ساختار پیش‌فرض:

$GOPATH/
├── bin/        # فایل‌های اجرایی
├── pkg/        # پکیج‌های کامپایل شده
└── src/        # کد منبع (در حالت قدیمی)

Go Modules (روش مدرن)

از Go 1.11 به بعد، Go Modules روش پیشنهادی مدیریت وابستگی‌ها است و نیازی به قرار دادن کد در GOPATH نیست:

# ایجاد پروژه جدید در هر مسیری
mkdir ~/projects/myapp
cd ~/projects/myapp

# مقداردهی اولیه module
go mod init github.com/username/myapp

بررسی صحت نصب

تست نسخه

go version
# خروجی: go version go1.21.0 linux/amd64

تست محیط

go env

خروجی متغیرهای مهم:

GOROOT="/usr/local/go"      # محل نصب Go
GOPATH="/home/user/go"       # محل پروژه‌ها
GOBIN=""                     # محل باینری‌ها
GOOS="linux"                 # سیستم‌عامل
GOARCH="amd64"               # معماری پردازنده

تست کامپایل

یک فایل تست ایجاد کنید:

mkdir -p ~/go-test && cd ~/go-test

فایل main.go:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    fmt.Printf("سلام از Go!\n")
    fmt.Printf("نسخه: %s\n", runtime.Version())
    fmt.Printf("سیستم‌عامل: %s\n", runtime.GOOS)
    fmt.Printf("معماری: %s\n", runtime.GOARCH)
}

اجرا کنید:

go run main.go

خروجی:

سلام از Go!
نسخه: go1.21.0
سیستم‌عامل: linux
معماری: amd64

نصب ویرایشگر کد

VS Code (پیشنهادی)

۱. VS Code را نصب کنید

۲. افزونه Go را نصب کنید:

  • Ctrl+Shift+X را بزنید
  • جستجو کنید: Go
  • افزونه رسمی Go Team را نصب کنید

۳. ابزارهای Go را نصب کنید:

  • Ctrl+Shift+P
  • تایپ کنید: Go: Install/Update Tools
  • همه ابزارها را انتخاب کنید

GoLand (IDE حرفه‌ای)

GoLand یک IDE کامل از JetBrains است که:

  • تکمیل خودکار کد قوی دارد
  • دیباگر داخلی دارد
  • ابزارهای refactoring پیشرفته دارد

نکته: GoLand رایگان نیست، اما برای دانشجویان و پروژه‌های متن‌باز رایگان است.

Vim/Neovim

# نصب vim-go
git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go

# یا با Plug
# Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }

مشکلات رایج و راه‌حل‌ها

مشکل ۱: go: command not found

علت: PATH به درستی تنظیم نشده

راه‌حل:

# بررسی محل نصب
which go
ls /usr/local/go/bin/go

# اضافه کردن به PATH
export PATH=$PATH:/usr/local/go/bin

مشکل ۲: نسخه قدیمی بعد از نصب جدید

علت: نسخه قدیمی هنوز در PATH است

راه‌حل:

# پیدا کردن همه نسخه‌ها
which -a go

# حذف نسخه قدیمی
sudo rm -rf /usr/local/go
sudo rm -rf /usr/bin/go

# نصب مجدد

مشکل ۳: خطای Permission denied

راه‌حل:

# تنظیم مالکیت GOPATH
sudo chown -R $USER:$USER $HOME/go

مشکل ۴: پروکسی برای دانلود پکیج‌ها (ایران)

راه‌حل:

# استفاده از پروکسی goproxy.io
go env -w GOPROXY=https://goproxy.io,direct

# یا goproxy.cn
go env -w GOPROXY=https://goproxy.cn,direct

قدم‌های بعدی

اکنون که Go را نصب کردید، پیشنهاد می‌کنیم:

  1. زبان Go چیست - آشنایی با مفاهیم پایه
  2. نقشه راه یادگیری گولنگ - مسیر کامل یادگیری
  3. انواع داده در Go - شروع کدنویسی

جمع‌بندی

نصب Go ساده و سریع است. با دنبال کردن مراحل این مقاله:

  • Go را روی سیستم خود نصب کردید
  • محیط توسعه را تنظیم کردید
  • اولین برنامه را اجرا کردید

اکنون آماده شروع یادگیری واقعی Go هستید!

منابع

بیش از ۱۰۰۰ شرکت‌کننده یادگیری Go و Backend رو از امروز شروع کن
ثبت‌نام دوره + تیم‌سازی