Go ba test
  • یادگیری گو با تست
  • اصول گو
    • نصب گو
    • سلام، دنیا
    • اعداد صحیح
    • تکرار
    • آرایه و اسلایس
    • ساختار, متد و اینترفیس
    • پوینتر و خطا
    • مپ
    • تزریق وابستگی
    • تقلید
    • همزمانی
    • دستور Select
    • انعکاس
    • کتابخانه‌ی Sync
    • کتابخانه‌ی Context
    • Intro to property based tests
    • Maths
    • Reading files
    • Templating
    • Generics
    • Revisiting arrays and slices with generics
  • Testing fundamentals
    • Introduction to acceptance tests
    • Scaling acceptance tests
    • Working without mocks
  • Build an application
    • Intro
    • HTTP server
    • JSON, routing and embedding
    • IO and sorting
    • Command line & package structure
    • Time
    • WebSockets
  • Questions and answers
    • OS Exec
    • Error types
    • Context-aware Reader
    • Revisiting HTTP Handlers
  • Meta
    • Why unit tests and how to make them work for you
    • Anti-patterns
    • Contributing
    • Chapter Template
Powered by GitBook
On this page
  • محیط گو
  • ماژول‌های گو
  • پیدا کردن مشکلات دستوری گو
  • ری‌فکتور کردن و ابزارهای شما
  • جمع‌بندی
  1. اصول گو

نصب گو

Previousیادگیری گو با تستNextسلام، دنیا

Last updated 1 year ago

آموزش رسمی نصب گو در موجود است.

محیط گو

ماژول‌های گو

گو در نسخه‌ی ۱.۱۱ را معرفی کرد. از نسخه‌ی ۱.۱۶ این روش پیش‌فرض گو برای بیلد پروژه‌ها است پس بنابراین استفاده از GOPATH توصیه نمی‌شود.

ماژول‌ها برای حل مشکلات مربوط به وابستگی‌ها، انتخاب ورژن، و امکان بیلد در محیط‌های مختلف استفاده می‌شوند؛ همچنین آن‌ها این امکان را فراهم می‌کنند که کد خارج از GOPATH اجرا شود.

استفاده از ماژول بسیار ساده است، تنها کافیست یک دایرکتوری خارج از GOPATH را به عنوان روت پروژه انتخاب کنید، و با دستور go mod init یک ماژول جدید بسازید.

با زدن این دستور فایل go.mod ساخته می‌شود که شامل مسیر ماژول، ورژن گو، و ماژول‌های مورد نیاز برای اجرای ماژول مورد نظر است.

اگر مسیری برای ماژول مشخص نشود خود گو تلاش می‌کند با مسیر فعلی پروژه مسیر آن را تعریف کند همچنین می‌توانیم با وارد کردن یک آرگومان مسیر ماژول را مشخص کنیم.

mkdir my-project
cd my-project
go mod init <modulepath>

فایل go.mod می‌تواند اینگونه باشد:

module cmd

go 1.16

شما می‌توانید با زدن دستورات زیر ببینید چه دستوراتی برای go mod وجود دارد.

go help mod
go help mod init

پیدا کردن مشکلات دستوری گو

برای تصب آن دستور زیر را وارد کنید:

brew install golangci-lint

ری‌فکتور کردن و ابزارهای شما

یکی از اهداف این کتاب نشان دادن اهمیت ری‌فکتور می‌باشد.

ابزارهای شما می‌تواند به شما کمک کنند تا با خیال راحت‌تری ری‌فکتور کنید.

شما باید به قدری با ادیتور خود آشنا باشید که دستورات زیر را به راحتی وارد کنیپ:

  • پیدا کردن متغیرها. شما باید یتوانید یک متغیر را به راحتی پیدا کنید و ببینید چگونه تعریف شده و چخ کارهایی با آن می‌شود.

  • پیدا کردن توابع. شما باید بتوانید یک تابع را پیدا کنید تا بفهمید کجاها استفاده می‌شود و چگونه تعریف شده.

  • تعییر نام. شما باید بتوانید به راحتی نام هر چیزی که خواستید را تعییر بدهید.

  • فرمت گو. گو دستور go fmt. را دارد که می‌تواند فرمت کدنویسی شما در گو را تصحیح کند. ادیتور شما باید بتواند بعد از هر بار ذخیره‌ی فایل این دستور را اجرا کند..

  • اجرای تست‌ها. شما باید قادر باشید بعد از انجام هر کدام از موارد بالا به سرعت تست‌های خود را اجرا کنید تا مطمئن باشید ری‌فکتور کردن کد شما را خراب نکرده است.

علاوه‌بر موارد بالا شما باید بتوانید کارهای زیر را هم انجام دهید.

  • دیدن امضای تابع. شما باید ببینید که یک تابع را چگونه صدا بزنید و تابع چه متغیر یا متغیرهایی را برای شما برمی‌گرداند.

  • دیدن تعریف تابع. اگر نمی‌دانید یک تابع چه کار می‌کند شما باید بتوانید به محل تعریف تابع بروید و کد را بخوانید.

  • فهمیدن فایده‌ی یک جز. دیدن نحوه‌ی فراخوانی تابع می‌تواند به شما کمک کند که برای نحوه‌ی ری‌فکتور آن تصمیم گیری کنید.

داشتن مهارت در استفاده از ابزار به شما کمک می‌کند روی کارتان تمرکز کنید، و لازم نباشد کار با ابزار را یاد بگیرید.

جمع‌بندی

برای آنکه بتوانید مشکلات دستوری گو را پیدا کنید می‌توانید از . استفاده کنید.

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

اینجا
ماژول
GolangCI-Lint
https://awesome-go.com