مبتدئ
Go
تعلّم Go من البداية إلى النهاية. ابدأ بالحزم والمتغيرات والتحكم في تدفق البرنامج، ثم تعمّق في الهياكل والواجهات والتزامن والاختبار وخوادم HTTP وقواعد البيانات والأنواع العامة وتحليل الأداء وإيصال الملفات التنفيذية الحقيقية إلى بيئة الإنتاج.
20 دروس12.3h تطبيقي11 لغات
ابدأ التعلّم مجاناًGo دورة20 درسًا، بالترتيب
- 125 دقيقة
مرحبا، Go
Package mainImportFunc mainFmt.PrintlnGo run - 225 دقيقة
المتغيرات والأنواع
Var declarationShort declaration :=IntFloat64StringBool+2 - 330 دقيقة
التحكم في التدفق: if و for
IfElse ifElseFor loopFor as whileInfinite for+2 - 430 دقيقة
الدوال
Func keywordParametersReturn valuesMultiple return valuesNamed return valuesBlank identifier - 535 دقيقة
الشرائح والخرائط
Slice literalAppendLenIndexingRangeMap literal+2 - 640 دقيقة
مشروع CLI الصغير التتويجي
Os.ArgsStrconv.AtoiError handling with if err != nilOs.ExitGo buildPutting it together - 735 دقيقة
الهياكل والمؤشرات
Struct definitionField accessZero values for structsPointer types& and * operatorsPointer receivers vs value receivers+1 - 835 دقيقة
الأساليب والواجهات
Method declarationReceiver typesPointer vs value receiversInterface definitionImplicit interface satisfactionSmall interfaces+1 - 935 دقيقة
معالجة الأخطاء
Error interfaceFmt.Errorf with %wErrors.IsErrors.AsCustom error typesPanic vs error+1 - 1040 دقيقة
الغوروتينات والقنوات
The go keywordGoroutine lifetimeUnbuffered channelsBuffered channelsSend and receiveRange over channel+1 - 1145 دقيقة
أنماط التزامن
Select statementContext.Context for cancellationSync.WaitGroupSync.MutexWorker pool patternFan-out fan-in idea - 1240 دقيقة
جولة في المكتبة القياسية
FmtStringsStrconvTimeOsBufio+1 - 1340 دقيقة
الاختبار والمعايير المرجعية
Go testTesting.TTable-driven testsT.Run subtestsTesting.B benchmarks_test.go file naming+1 - 1435 دقيقة
الوحدات وهيكل المشروع
Go mod initGo.mod and go.sumImport pathsPackage vs moduleInternal/ folderCmd/ layout+1 - 1545 دقيقة
خوادم HTTP
Net/httpHttp.HandleFuncHttp.ServerJSON responsesRequest routingMiddleware via http.Handler wrapping+1 - 1645 دقيقة
قواعد البيانات مع database/sql
Database/sql packageDriver importsSql.Open and sql.DB poolExec vs Query vs QueryRowPrepared statementsScanning rows+1 - 1735 دقيقة
الأنواع العامة
Type parameters with [T any]ConstraintsComparableTilde approximation ~intGeneric Map and FilterWhen generics help, when they do not - 1840 دقيقة
الأداء والتحليل التشخيصي
Go test -benchPprof CPU and heap profilesEscape analysis with -gcflags=-mAvoiding unnecessary allocationsPreallocating slicesSync.Pool intuition - 1940 دقيقة
أنماط التصميم في لغة Go
Functional options patternRepository patternDependency injection via interfacesContext propagation through call stacksConstructor functions - 2045 دقيقة
النشر والإنتاج
CGO_ENABLED=0 static binariesCross-compile with GOOS and GOARCHGraceful shutdown with http.Server and signal.NotifyContextMinimal Dockerfile with scratch or distrolessReading config from environment variables
تعلّم Go بلغتك
كل درس واختبار ورد من المدرس يظهر بلغتك. المدرس الذكي يرد بنفس اللغة التي تكتب بها.
