مرکزی مواد پر جائیں
eLearner.app

انٹرایکٹو کورس

کورس کریں۔

انگریزی میں، شروع سے Go سیکھیں۔ اپنے کوڈ کو اصلی کمپائلر پر چلانے کے لیے جامد توثیق اور آفیشل گو پلے گراؤنڈ سے براہ راست روابط کے ساتھ مشقیں۔

کلیدی الفاظ کے ذریعے جامد تصدیق + اہلکار پر عمل درآمدGo Playground(کاپی کوڈ کے لیے ایک کلک + اوپن)۔

01 · ماڈیول 1 - زبان کی بنیادی باتیں

5 اسباق

بنیادیں: پیکجز، متغیرات، اقسام، مستقل، آپریٹرز، اور fmt پیکیج کے ساتھ ان پٹ/آؤٹ پٹ۔

  1. 1.1متغیرات اور اقسامvar، مختصر اعلان `:=`، بنیادی اقسام (int، float64، string، bool)، اور جامد ٹائپنگ کا تصور۔~10 min
  2. 1.2صفر قدر اور قسم کے تبادلے۔ہر متغیر کی ایک ڈیفالٹ قدر ہوتی ہے۔ تبدیلیاں واضح ہیں (`int(x)`، `string(b)`)۔~10 min
  3. 1.3Constants اور iotaپڑھنے کے قابل شماریات بنانے کے لیے 'const'، غیر ٹائپ شدہ مستقل، اور 'iota' پیٹرن۔~10 min
  4. 1.4آپریٹرزریاضی، موازنہ، منطقی، اور بٹ وار؛ دوسری زبانوں سے ترجیح اور فرق۔~8 min
  5. 1.5fmt کے ساتھ ان پٹ/آؤٹ پٹ`fmt.Println`, `fmt.Printf`، فارمیٹ فعل (`%d`, `%s`, `%v`, `%T`) اور کب ایک کو دوسرے پر ترجیح دیں۔~10 min

02 · ماڈیول 2 - کنٹرول بہاؤ

5 اسباق

فیصلے اور تکرار: اگر init بیانات کے ساتھ، واحد `for`، محاوراتی سوئچ، اور واضح غلطی سے نمٹنے۔

  1. 2.1if، else، اور init بیاناتاگر v := f(); v > 0 { ... }` فارم اور کیوں گو کا کوئی ٹرنری آپریٹر نہیں ہے۔~10 min
  2. 2.2کے لیے: واحد لوپ`for` کی تین شکلیں: تین شق، واحد شرط (= جبکہ)، اور لامحدود؛ 'بریک' اور 'جاری' کا استعمال کرتے ہوئے~10 min
  3. 2.3رینج کے لیےسلائسوں، نقشوں اور تاروں پر اعادہ کریں۔ واپس کی گئی قدر ایک کاپی ہے، جب انڈیکس یا قدر کو `_` کے ساتھ نظر انداز کرنا ہے۔~10 min
  4. 2.4محاوراتی سوئچکوئی مضمر فال تھرو، معاملات میں پیچیدہ تاثرات، اگر کی زنجیر کے طور پر شرط کے بغیر سوئچ کریں۔~10 min
  5. 2.5خرابیاں: `if err != nil` پیٹرنغلطیاں اقدار ہیں؛ بنیادی پیٹرن `if err != nil { return err }` اور کیوں گو میں کوئی استثنا نہیں ہے۔~12 min

03 · ماڈیول 3 - افعال

5 اسباق

پہلے درجے کے شہریوں کے طور پر کام کرتا ہے: دستخط، متعدد واپسی، متغیر پیرامیٹرز، بندش، اور `موخر`۔

  1. 3.1دستخط اور پیرامیٹرز`func name(p type) type` نحو، پاس بائی ویلیو بطور ڈیفالٹ، ایک ہی قسم کے پیرامیٹرز کو ایک ساتھ گروپ کیا گیا ہے۔~10 min
  2. 3.2متعدد ریٹرن اور نامزد ریٹرنمتعدد قدروں کو لوٹانا (`قدر، غلطی')، نامزد کردہ واپسی کا نمونہ، اور اسے کب استعمال نہ کرنا ہے۔~12 min
  3. 3.3متغیر افعال`func sum(nums...int) int`، `slice...` کے ساتھ ایک ٹکڑا پھیلانا، stdlib سے مثالیں۔~10 min
  4. 3.4قدروں کے بطور بندش اور افعالگمنام فنکشنز جو ارد گرد کے سیاق و سباق سے متغیرات کو حاصل کرتے ہیں۔ اڈاپٹر اور فیکٹری پیٹرن.~12 min
  5. 3.5`موخر`: ضمانت شدہ صفائیواپسی تک پھانسی کو ملتوی کرنا؛ 'defer f.Close()' پیٹرن، LIFO آرڈر، لوپس کے اندر گٹچس۔~12 min

04 · ماڈیول 4 - مجموعے۔

5 اسباق

صفیں، سلائسیں (سب سے اہم ڈھانچہ)، نقشے، سٹرنگ کے اندر رونز، اور چھانٹنا۔

  1. 4.1فکسڈ لمبائی کی صفیں۔`[N]T` نحو، کیوں اصلی صفوں کو Go میں شاذ و نادر ہی استعمال کیا جاتا ہے، ارے سے سلائس میں تبدیلی۔~8 min
  2. 4.2سلائسس: محاوراتی ساخت`make`، `append`، len/cap، `s[a:b]` کو کاٹنا، بنیادی صف کا اشتراک کرنا، اور کب کاپی کرنا ہے۔~15 min
  3. 4.3نقشے: چابیاں اور اقدارڈیکلریشن، کوما اوکے رسائی (`v, ok := m[k]`), `delete`, non deterministic iteration.~12 min
  4. 4.4سٹرنگز، بائٹس اور رنسسٹرنگز UTF-8 بائٹس ہیں۔ `رینج` سے رنس پیدا ہوتا ہے۔ `len()` بائٹس شمار کرتا ہے، حروف کی نہیں۔~12 min
  5. 4.5ترتیب پیکج کے ساتھ چھانٹنا`sort.Ints`, `sort.Strings`, `sort.Slice` ایک موازنہ فنکشن کے ساتھ، استحکام۔~10 min

05 · ماڈیول 5 - ساخت اور طریقے

5 اسباق

جامع ڈیٹا کی قسمیں: ڈھانچہ، قیمت یا پوائنٹر ریسیورز پر طریقے، ساخت (کوئی وراثت نہیں)، اور ٹیگز۔

  1. 5.1ساخت کی تعریف اور استعمال`Type Person struct { نام کی تار؛ عمر int }`، پوزیشنل بمقابلہ نام کی ابتدا، گمنام ساخت۔~12 min
  2. 5.2طریقے: ویلیو بمقابلہ پوائنٹر ریسیور`func (p Person) Hello()` بمقابلہ `func (p *Person) Rename(n string)`; ایک یا دوسرے کو کب استعمال کرنا ہے۔~14 min
  3. 5.3ساخت (ایمبیڈنگ)گو کی کوئی وراثت نہیں ہے: آپ ایک قسم کو دوسری قسم کے اندر سرایت کرکے تحریر کرتے ہیں۔ طریقہ فروغ۔~12 min
  4. 5.4فیلڈ ٹیگز اور JSON`json:"name,omitempty"`، `encoding/json` کے ساتھ مارشلنگ/انمارشلنگ، عام غلطیاں۔~12 min
  5. 5.5'نیا...' کنسٹرکٹر پیٹرنGo کا کوئی کنسٹرکٹر نہیں ہے: کنونشن ایک `NewT(...) *T` فنکشن ہے جو غلطیاں درست کرتا ہے اور واپس کرتا ہے۔~10 min

06 · ماڈیول 6 - انٹرفیس

5 اسباق

ساختی انٹرفیس (کوئی واضح آلات نہیں)، دعوے، قسم کے سوئچز، اور معیاری `Stringer` اور `error` انٹرفیس۔

  1. 6.1انٹرفیس: رویے کی وضاحتایک انٹرفیس طریقوں کا ایک مجموعہ ہے؛ جو بھی ان کو لاگو کرتا ہے وہ خود بخود اسے مطمئن کرتا ہے (جامد بتھ ٹائپنگ)۔~12 min
  2. 6.2دعویٰ ٹائپ کریں۔`v, ok := i.(*MyT)`، گھبراہٹ سے بچنے کے لیے کوما اوکے فارم، جب کسی قسم کے سوئچ پر دعوے کو ترجیح دیں۔~10 min
  3. 6.3ٹائپ سوئچرن ٹائم ٹائپ پر ڈسپیچ کرنے کے لیے `switch v := x.(type) { case int: ... }`۔~10 min
  4. 6.4سٹرنگر انٹرفیس`String() string` کو لاگو کرنے سے یہ بدل جاتا ہے کہ `fmt.Println` آپ کی قسم کو کیسے ظاہر کرتا ہے۔~10 min
  5. 6.5غلطی کا انٹرفیس`غلطی` صرف `Error() سٹرنگ ہے؛ اپنی مرضی کے مطابق غلطیاں پیدا کرنا، `errors.Is`، `errors.As`، `fmt.Errorf("%w", err)`۔~14 min

07 · ماڈیول 7 - کنکرنسی

5 اسباق

Go's concurrency ماڈل: ہلکے وزن والے گوروٹینز، مواصلات کے لیے چینلز، `منتخب`، مطابقت پذیری، اور سیاق و سباق۔

  1. 7.1Goroutines: ہلکا پھلکا متوازی`go f()`، گوروٹین کی لاگت، بغیر انتظار کے مین باہر کیوں نکلتے ہیں، اور ہم وقت سازی کیسے کریں۔~12 min
  2. 7.2چینلز: ٹائپ شدہ مواصلات`ch := make(chan int)`, `ch <- v`, `v := <-ch`، بفر شدہ بمقابلہ غیر بفر شدہ چینلز، بند کرنا۔~15 min
  3. 7.3منتخب کریں: ملٹی پلیکسنگ چینلزپہلے تیار چینل کا انتظار کریں، بلاک ہونے سے بچنے کے لیے 'پہلے سے طے شدہ' کیس، 'time.After' کے ساتھ ٹائم آؤٹ پیٹرن۔~12 min
  4. 7.4`sync.Mutex` اور `sync.WaitGroup`جب چینلز کافی نہیں ہیں: ایک Mutex کے ساتھ مشترکہ ریاست کی حفاظت کریں، WaitGroup کے ساتھ N goroutines کا انتظار کریں۔~14 min
  5. 7.5'context.Context': منسوخی اور آخری تاریخgoroutines، `context.WithTimeout`، `ctx.Done()`، پہلے پیرامیٹر پیٹرن میں منسوخی کا پرچار کریں۔~14 min

08 · ماڈیول 8 - ضروری معیاری لائبریری

5 اسباق

وہ پیکیج جو آپ ہر روز استعمال کریں گے: fmt، سٹرنگز، strconv، io، os، time، encoding/json۔

  1. 8.1اعلی درجے کی `fmt``Sprintf`، `Fprintf`، `%+v` اور `%#v` فعل، چوڑائی اور درست فارمیٹنگ، `-` اور `0` جھنڈے۔~10 min
  2. 8.2`strings` اور `strconv``strings.Contains/Split/Join/TrimSpace`, `strconv.Itoa/Atoi/ParseInt/FormatFloat`۔~12 min
  3. 8.3`io` اور `os`: فائلیں اور اسٹریمز`os.Open/Create/ReadFile/WriteFile`، `io.Reader/Writer` انٹرفیس، `defer f.Close()` پیٹرن۔~14 min
  4. 8.4'وقت' پیکیج`time.Now()`، دورانیے، حوالہ لے آؤٹ کے ساتھ تجزیہ کرنا `2006-01-02 15:04:05`، ٹائمر اور ٹکر۔~12 min
  5. 8.5`انکوڈنگ/json``json.Marshal/Unmarshal`، struct tags، `json.Decoder/Encoder` اسٹریمز کے لیے، تجزیہ کی خرابیاں۔~14 min

09 · ماڈیول 9 - ٹیسٹ، ماڈیول، اور ٹولنگ

5 اسباق

'گو ٹیسٹ' ٹول، ٹیبل سے چلنے والے ٹیسٹ، بینچ مارکس، 'گو موڈ' کے ساتھ انحصار کا انتظام، اور ٹیگز کی تعمیر۔

  1. 9.1'ٹیسٹنگ' پیکیج`*_test.go` فائلیں، `TestXxx(t *testing.T)` فنکشنز، `t.Error` بمقابلہ `t.Fatal`، `go test ./...`۔~12 min
  2. 9.2ٹیبل پر مبنی ٹیسٹمحاوراتی نمونہ: ان پٹ اور متوقع آؤٹ پٹس کے ساتھ گمنام ڈھانچے کا ایک ٹکڑا، ذیلی ٹیسٹ کے لیے `t.Run(name, ...)`۔~14 min
  3. 9.3بینچ مارکس اور پروفائلز`BenchmarkXxx(b*testing.B)` فنکشنز، the `for i := 0; i < b.N; i++` لوپ، `گو ٹیسٹ - بینچ=.`۔~12 min
  4. 9.4ماڈیولز پر جائیں۔`go mod init`, `go get`, semantic import versioning, the `go.sum` lockfile, `go mod tidy`۔~12 min
  5. 9.5رکاوٹیں اور ٹیگز بنائیںکراس پلیٹ فارم کی تعمیر، ٹیسٹ/انٹیگریشن کوڈ کو الگ کرنے، حقیقی دنیا کی مثالوں کے لیے `//go:build...` ہدایت۔~10 min

10 · ماڈیول 10 - محاوراتی مشق

5 اسباق

نام دینا، ایڈوانس ایرر ہینڈلنگ، جنرک (Go 1.18+)، اور دو چھوٹے پروجیکٹس: ایک CLI اور ایک HTTP سرور۔

  1. 10.1نام دینے کی روایت اور اندازبرآمدات کے لیے پاسکل کیس، مقامی لوگوں کے لیے اونٹ کیس، مختصر دائرہ کار میں مختصر نام، `gofmt` غیر گفت و شنید ہے۔~10 min
  2. 10.2محاوراتی غلطی کو سنبھالناسینٹینیل کی خرابیاں (`io.EOF`)، `Unrap` کے ساتھ حسب ضرورت خرابیاں، `%w` کے ساتھ ریپنگ، `گھبراہٹ` کا استعمال کب کرنا ہے۔~14 min
  3. 10.3عمومیات (1.18+ پر جائیں)قسم کے پیرامیٹرز `func Map[T, U any](s []T, f func(T) U) []U`، رکاوٹیں (`موازنہ`، کسٹم)، ٹریڈ آف۔~15 min
  4. 10.4منی پروجیکٹ: جھنڈوں کے ساتھ ایک CLI'پرچم' پیکیج، کمانڈز اور ذیلی کمانڈز، ایگزٹ کوڈز، آؤٹ پٹ کے لیے 'لاگ' بمقابلہ 'fmt'۔~18 min
  5. 10.5منی پروجیکٹ: ایک HTTP سرور`net/http`، کم سے کم ہینڈلر اور روٹر، مڈل ویئر بطور ڈیکوریٹر، سیاق و سباق کے ساتھ خوبصورت شٹ ڈاؤن۔~18 min