Go
از اولین قدم تا محصول واقعی
Go را با API فهرست کارها یاد بگیر؛ از module و slice تا interface، error، HTTP، goroutine، context و تست.
این پروژه را در 20 قدم کوتاه میسازی. هر درس فقط یک موضوع تازه دارد و با نمونه قابل دیدن تمام میشود.
20 قدم کوتاه و مرتب
هر درس فقط یک مفهوم تازه دارد: اول خیلی ساده میخوانی، بعد مثال میبینی، کد را تغییر میدهی و با آزمون کوتاه مطمئن میشوی.
نصب Go و اولین module
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
متغیر، const و نوع
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
رشته و قالببندی
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
if و switch
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
حلقه for
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
تابع و چند خروجی
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Array و slice
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
map و comma-ok
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
struct و method
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
interface کوچک
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
مدیریت و wrap خطا
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
JSON و tagهای struct
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
فایل و ذخیره امن
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
package و مرز پروژه
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
اولین HTTP server
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Handler و اعتبارسنجی ورودی
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Goroutine و channel
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Context و لغو کار
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
تست table-driven و httptest
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
پروژه؛ API فهرست کارها
همه آموختهها را به یک پروژه کامل و قابل ارائه تبدیل کن.
REST API فهرست کارها با ذخیره پایدار و shutdown امن
این پروژه یک نمونه تزئینی نیست. مدل داده، قوانین، حالت خطا، آزمون و مسیر انتشار را قدمبهقدم کامل میکنی.
- تعریف مسئله و کاربر واقعی
- ساخت نسخه کوچک اما انتهابهانتها
- آزمون مسیر موفق، مرزی و خطا
- آمادهسازی خروجی برای ارائه و بازخورد
package main
import "fmt"
func main(){price,count:=180000,2;fmt.Println(price*count)}