Go курсының он сегізінші сабағы және тіл туралы модульдің соңы. Таныс бөлшектерден құралған бір аяқталған бағдарлама: құрылым, тілім, сөздік, сілтегішті әдістер, қателер, өз пакеті және тестер. Пернетақтадан пәрмен оқудан басқа жаңа ештеңе жоқ: үйренгенді жинау — бөлек шеберлік.
Go курсының он жетінші сабағы. GitHub — сақтық көшірме емес, басқаларға көрінетін сол тарихтың өзі. Аккаунт және алғашқы репозиторий, git remote мен git push, ондағы құпиясөзді неге қабылдамайды және оның орнына не келді, README — адам ең алдымен оқитын нәрсе, және ешқашан жарияламайтын дүниелер.
Go курсының он алтыншы сабағы. Git файлдың соңғы нұсқасын емес, қайта оралуға болатын барлық күйді сақтайды. git init, үш орын — жұмыс қалтасы, индекс және тарих, — ең жиі қолданылатын пәрмен git status, жазба хабарына не жазады, .gitignore не үшін керек және кешегі файлды кері қалай алады.
Go курсының он бесінші сабағы. Пакет — бұл қалта, ал аттағы бас әріп — сыртқа ашылатын есік. Бағдарламаны қалталарға қалай бөледі, go.mod пен go.sum ішінде не жазылған, бөтен пакетті go get арқылы қалай қосады және go mod tidy-ды неге код жіберер алдында орындайды.
Go курсының он төртінші сабағы. Мұнда қате бағдарламаны үзбейді, екінші мән болып қайтады, ал тексерілуі бірінші. error — бір ғана әдісі бар интерфейс, errors.New мен fmt.Errorf, %w арқылы орау және errors.Is, өз қатеңізді мән ретінде жариялау — және мұның бәріне panic неге керек емес.
Go курсының он үшінші сабағы. Интерфейс — біліктер тізімі: бір функция кез келген қоймамен жұмыс істейді, тек ол келісімде жазылғанды білсе болды. Іске асыру неге жарияланбай, өзінен-өзі шығады, оны жинау кезінде қалай тексереді және алмастырма қойма тестті дерекқорсыз неге мүмкін етеді.
Go курсының он екінші сабағы. Өткен сабақтағы тұзақтың жауабы: сілтегіш — мәннің көшірмесі емес, мекенжайы. & мен * қалай жұмыс істейді, әдістің функциядан айырмашылығы, қабылдағышты қашан сілтегіш, қашан мән алады, және for i := range неге for _, a := range бұзғанды түзетеді.
Go курсының он бірінші сабағы. Құрылым — өз тип: қолмен үйлестіріп отыратын үш сөздіктің орнына type Article struct. Өрістер мен нүкте, атаулы және атаусыз литерал, нөлдік құрылым, құрылымдар тілімі және басты тұзақ: құрылым көшірмемен беріледі, сондықтан range ішіндегі түзету жоғалады.
Go курсының оныншы сабағы. Жазылып қалатын тексеру: код қасындағы _test.go файлы, TestXxx функциясы және go test пәрмені. Құлауды қалай оқу керек — тест аты, файл, жол, «алдық» пен «күттік», — t.Errorf пен t.Fatalf айырмасы және неге тізімнің ортасын емес, шетін тексереді.
Go курсына кіріспе. Шын мәнінде не керек — компьютер, бағдарлама орнату құқығы және күніне жарты сағат, — және не керек емес: ағылшын тілі, математика, қуатты машина. Терминалыңыз қайсы және неге бұл маңызды, орнатуға тыйым салынса не істеу керек, бәрі қанша тұрады.