Go Öğren - Kodlama Kursu uygulama simgesi

Go Öğren - Kodlama Kursu

Eğitim · Ücretsiz · iOS & Android · CoddyKit

Go Öğren - Kodlama Kursu — Telefonunda compiler, race detector ve günlük katasıyla bir Golang tutorial

Go Öğren - Kodlama Kursu; yeni başlayanlar ve profesyonel geliştiriciler için, kodunu gerçek bir Go toolchain üzerinde çalıştıran Go compiler ve editor içeren ücretsiz bir iOS ve Android Golang tutorial uygulamasıdır (internet bağlantısı gerekir). Kodunu gofmt, go vet ve race detector ile kontrol et ve ilk fmt.Println komutundan goroutine'lere, REST API'lerine ve gRPC'ye kadar uzanan 51 kursta ilerle; anlamadığın kısımlarda AI Mentor'dan yardım al.

App Store — Ücretsiz indirGoogle Play — Ücretsiz indir
Fiyat
Ücretsiz, Pro yükseltmesi
Platformlar
iOS ve Android
Diller
22
Yaş sınırı
4+
Gereksinimler
iOS 15.1 veya üzeri
Başlat İlk Dersi düğmesi, günlük hedef halkası ve özellik isteği kartı bulunan Go öğrenme yolu ana ekranıİlerleme çubuğu, ücretsiz ilk ders grubu ve Kursunu Değiştir düğmesi bulunan Go Kickoff: Concepts & Setup kursu özeti
51A1'den C1'e kadar course'lar
-racerace detector içeren Concurrency Lab
GünlükHer gün yeni bir kata
go keyword'ünü sil ve aynı işin üç kat daha uzun sürdüğünü gör.

Uygulama, Go ile yaptırdığı ilk işte bunu gösteriyor: Her biri 120 ms süren üç işi çalıştır, toplam sürenin 360 ms'nin hayli altında kaldığını gör, sonra onları eşzamanlı hâle getiren tek keyword'ü kaldır. Dilin bütün vaadi bu tek kelimede saklı ve uygulama, açıklamaya geçmeden önce bunu hissetmeni sağlıyor.

Nedir

Go Öğren - Kodlama Kursu, günümüzdeki cloud ve server yazılımlarının büyük bölümünün temelini oluşturan derlenmiş dil Go'yu öğrenmeye yönelik ücretsiz bir iOS ve Android uygulamasıdır. Uygulamada başlangıçtan ileri seviyeye kadar derecelendirilmiş 51 kurs ve 203 ders, programları gerçek bir Go toolchain üzerinde çalıştıran bir code editor, günlük bir kata, gerçek bir race detector içeren bir Concurrency Lab ve kendi HTTP core'unu oluşturduğun yönlendirmeli bir track bulunur. AI Mentor, herhangi bir dersle ilgili sorularını yanıtlar.

Uygulamanın içinde

Nasıl görünüyor

Başlat İlk Dersi düğmesi, günlük hedef halkası ve özellik isteği kartı bulunan Go öğrenme yolu ana ekranı
Öğrenme yoluAna ekran, başlat düğmesi, günlük hedef ve Skill Hub bağlantısının bulunduğu öğrenme yolunu açar.
İlerleme çubuğu, ücretsiz ilk ders grubu ve Kursunu Değiştir düğmesi bulunan Go Kickoff: Concepts & Setup kursu özeti
Kurs özetiİlk kurs olan Go Kickoff: Concepts & Setup ücretsiz olarak işaretlenmiştir ve üç kısa derse ayrılır.
package main, import fmt ve fmt.Println çağrıları içeren bir Go programını, ilk program dersinin yanında gösteren kod editörü
Kod editörüpackage main dosyasında kod editörü açık ve çalıştır düğmesi bulunan Your First Program adlı ders.
Temel kavramları açıklama, ipucu verme, beni sınama ve öğrenme yol haritası oluşturma önerileri bulunan AI sohbet ekranı
AI MentorDört önerilen komut sohbeti başlatır: temel kavramları açıkla, ipucu ver, beni sına veya yol haritası oluştur.
Öğrenme yolu, günlük hedef ve Skill Hub'ın bulunduğu açık temalı ana ekran
Ana ekranEtkin kursun altında günlük hedef ve Skill Hub bulunan, açık temadaki aynı ana ekran.

Kurs

Go kursunda neler var?

Uygulamanın kendi kurs listesindeki 51 kurs ve 203 ders; A1 ile C1 arasında seviyelendirilmiş, ilk programdan profiling ve garbage collector konularına kadar ilerliyor.

  1. Go'ya Hoş Geldin ve Temel Bilgiler

    Go'nun ne olduğu ve Google'ın onu neden oluşturduğu; ardından değişkenler, türler ve zero values, sabitler ve if, for ve switch ile control flow.

  2. Functions, Slices ve Maps

    Birden fazla dönüş değeri içeren functions, defer ve variadic parameters; arrays, slices ve maps; ayrıca strings, fmt biçimlendirmesi ve time paketi.

  3. Structs, Pointers ve Interfaces

    Structs ve methods, value ile pointer receivers arasındaki fark, pointers, implicit interfaces ve duck typing; ayrıca composition için embedding.

  4. Errors, Packages ve Standard Library

    errors.Is ve errors.As ile açık error handling, packages ve modules, file I/O ve JSON, regular expressions, sorting ve buffered I/O.

  5. Goroutines, Channels ve Sync

    Goroutine ve channel temelleri, select ve channel patterns, mutexes ve sync paketi, cancellation için context ve worker pools ile pipelines.

  6. HTTP, REST ve Databases

    net/http ile HTTP servers ve clients, Gin ile REST APIs, middleware patterns, sqlx ve pgx ile database/sql, GORM ve WebSockets.

  7. Testing, Tooling ve Deployment

    Table-driven tests ve subtests, Cobra ile command-line apps, Viper ile configuration, slog ile structured logging ve multi-stage Docker builds.

  8. Advanced Go

    Type parameters ve constraints ile generics, benchmarking ve pprof profiling, Protocol Buffers ile gRPC, reflection ve memory model.

Nasıl çalışır

Bir session nasıl işler?

Her dersin ardından çalıştırdığın kısa bir code bölümü gelir; böylece fikir ve pratik aynı oturumda gerçekleşir.

  1. Kısa bir ders oku

    Bir course aç ve birkaç dakika süren tek bir lesson tamamla; theory sade bir dille ve küçük bir örnekle anlatılır. Örneğin ilk derste package main ve fmt.Println programı kullanılır.

  2. Gerçek bir Go toolchain üzerinde çalıştır

    Editor, programını bir Go runner'a gönderir ve output'u gösterir. gofmt, go vet ve race detector da aynı şekilde çalışır; bu nedenle run'a bastığında uygulamanın bağlantıya ihtiyacı vardır. Çöken bir programda error'un açıklaması sade bir dille gösterilir.

  3. Başka bir açıdan pratik yap

    Bir topic'in ardından quiz'i çöz, daily kata'yı tamamla, bir concurrency puzzle'ını adım adım incele veya AI Mentor'dan sana quiz yapmasını iste. Her biri aynı fikre farklı bir açıdan yaklaşır; kalıcı öğrenmeyi sağlayan da budur.

İçinde neler var

Uygulamayla birlikte gelenler

51

A1'den C1'e kadar course'lar

Go temelleri, slice'lar ve map'lerden interface'lere, error handling'e, goroutine'lere, net/http'ye, Gin'e, database erişimine, Docker deployment'a, gRPC'ye ve garbage collector'a kadar uzanan 51 course'ta 203 lesson.

-race

race detector içeren Concurrency Lab

Altı çalıştırılabilir puzzle; tek bir channel'da iki goroutine'i, unbuffered bir handshake'i, bir WaitGroup fan-out'unu, güncellemeleri kaybeden bir counter'ı, iki writer kullanan bir map'i ve bir deadlock'u kapsar. Kendi kodunu da race detector altında, ücretsiz ve günlük limit olmadan çalıştırabilirsin.

Günlük

Her gün yeni bir kata

Aralarında gizli olanların da bulunduğu bir case tablosuna göre kontrol edilen bir Go egzersizi; sonrasında reference explanation sunulur. Daily kata herkes için ücretsizdir; Pro, tüm library'yi, reference solution'ları ve explanation'ları açar.

Doctor

Go Doctor

gofmt'nin dosyanı yeniden yazıp yazmayacağını kontrol et ve uygula, bulgular için go vet çalıştır; Pro ile bir değerin neden allocate edildiğini compiler'ın escape analysis'ine sor. Formatting sınırsızdır; ücretsiz planda go vet günde üç çalıştırmayla sınırlıdır.

7 adım

Kendi HTTP core'unu oluştur

Request'i, response'u, function olarak handler'ları, routing'i, path parameter'larını, middleware'i ve wrapped error'larla JSON'u kendin yazdığın yönlendirmeli bir track; her adım tek tek kontrol edilir.

AI

AI Mentor ve mock interview

AI Mentor'dan bir concept'i açıklamasını, sana bir roadmap sunmasını veya quiz yapmasını iste. Mock interview, junior, mid veya senior seviyesinde beş Go sorusu sorar ve cevaplarını puanlar; haftada bir puanlanan interview ücretsizdir.

Recall

Go Recall ve Go by Example

defer sırası, nil map'ler ve append'in memory paylaşması gibi klasik gotcha'lar hakkında kısa “bu ne yazdırır?” kartları; ayrıca çalıştırıp düzenleyebileceğin runnable standard-library snippet'ları.

Arka plan

Backend çalışmaları için neden Go öğrenmelisin ve onu farklı kılan ne?

Go, Google'da oluşturulmuş, statically typed ve derlenen bir dildir; web service'lerinde, command-line tool'larında ve cloud infrastructure'ında yaygın olarak kullanılır. Backend çalışmaları için çekici olmasının nedeni, pek çok özelliğin yerleşik gelmesidir: concurrency dilin bir parçasıdır, standard library küçük bir servisin ihtiyaç duyduğu çoğu şeyi kapsar ve program, yanında kurulması gereken başka hiçbir şey olmadan tek bir binary olarak derlenir. Dil bilinçli olarak küçük tutulmuştur; bu da okunmasını hızlandırır, ancak yeni başlayanların erken aşamada öğrenmesi gereken birkaç alışılmadık alışkanlık getirir.

Goroutine'ler ve channel'laryönetmen gereken thread'ler olmadan concurrency

Goroutine, go keyword'üyle başlatılan bir function'dır; channel ise goroutine'lerin değerleri aktarmak için kullandığı borudur. Birlikte, elle yazılmış thread yönetiminin büyük bölümünün yerini alırlar. Bu nedenle concurrency, ileri bir konu olarak ertelenmek yerine erkenden öğretilir.

Error'lar birer değerdirexception yok

Başarısız olabilen bir Go function'ı, sıradan bir ikinci değer olarak bir error döndürür ve çağıran taraf bunu hemen orada kontrol eder. Bu, bir try block'undan daha fazla yazı yazmanı gerektirir; karşılığında okuduğun kodda her failure path görünür olur.

Implicit interface'lercompile time'da kontrol edilen duck typing

Bir type, herhangi bir bildirim yapılmasına gerek kalmadan yalnızca doğru method'lara sahip olarak bir interface'i karşılar. Bu, package'ların gevşek bağlı kalmasını sağlar; ayrıca klasik bir Go sürprizinin de kaynağıdır: nil pointer içeren bir interface'in kendisi nil değildir.

Tek bir binary ve geniş bir standard librarydeployment neden basittir

Derlenen Go, tek bir executable üretir; net/http, encoding/json ve database/sql gibi package'lar dille birlikte gelir. Küçük bir service çoğu zaman üçüncü taraf bir framework'e ihtiyaç duymaz; Go programlarının Docker image'larının küçük olabilmesinin nedenlerinden biri budur.

Uygunluk

Kimler için uygun — kimler için değil

Şu durumlarda senin için uygun

  • Telefonda kısa oturumlarla ilerleyebileceğin bir Golang kursu mu istiyorsun?
  • Başka bir dilde zaten kod yazıyor ve goroutines ile channels'ın gerçekten çalıştığını mı görmek istiyorsun?
  • Backend veya cloud rollerini hedefliyor ve puanlı geri bildirim içeren Go mülakat soruları mı istiyorsun?
  • Uzun videolardansa küçük egzersizler ve gotcha cards ile mi daha iyi öğreniyorsun?
  • Kendi yazdığın kodda biçimlendirmeyi, vet bulgularını ve data races'ı mı kontrol etmek istiyorsun?

Şu durumlarda doğru araç değil

  • net/http import eden veya generics kullanan programları, Go 1.13 sandbox'ı olan uygulama içi runner'da mı çalıştırman gerekiyor?
  • Runner online olduğu için programları bağlantı olmadan mı çalıştırmak istiyorsun?
  • Her şeyin ücretsiz olmasını mı bekliyorsun: ilk kurs, günlük kata ve günlük AI Mentor hakkı ücretsizdir; Pro ise geri kalan her şeyin kilidini açar.
  • Hâlâ bir laptop ve tüm toolchain'i gerektiren büyük, çok paketli bir service mi oluşturup yayınlaman gerekiyor?

Sorular

Sık sorulan sorular

Telefonda Golang öğrenmenin en iyi yolu nedir?

Kısa dersler ve gerçekten çalıştırdığın kod, tek başına okumaktan daha etkilidir; Go da çalıştırarak öğrenmeyi teşvik eder, çünkü en güçlü özellikleri olan goroutines ve race detector davranışa dayalıdır. Go Öğren - Kodlama Kursu, birkaç dakikalık dersleri bir editör, günlük kata ve Concurrency Lab ile birleştirir. iOS ve Android'de ücretsiz olarak başlayabilir, başlangıç seviyesinden ileri seviyeye sıralanmış 51 kursta ilerleyebilirsin.

Telefonunda Go kodunu derleyip çalıştırabilir misin?

Evet, bağlantıyla birlikte. Go Öğren - Kodlama Kursu programını bir Go runner'a gönderir ve çıktıyı gösterir; aynı runner gofmt, go vet ve race detector'ı da sağlar. Kod telefonun kendisinde çalıştırılmaz; bu nedenle çalıştır düğmesine bastığında online olman gerekir. Ayrıca runner'ın küçük bir memory allowance ve maksimum binary size gibi sınırları vardır.

Uygulama içindeki runner generics'i destekliyor mu?

Şu anda desteklemiyor. Go Öğren - Kodlama Kursu içindeki runner Go 1.13 kullanıyor; generics ise Go 1.18'de geldi. Bu nedenle type parameters veya any keyword kullanan bir program burada derlenmez. Böyle bir durumda uygulama bunu anlaşılır bir dille belirtir ve eski biçimi önerir. Generics kursu ise ders olarak okunabilir.

Go race detector nedir ve uygulama bunu nasıl kullanıyor?

Race detector, iki goroutine'in aralarında lock olmadan aynı memory'ye dokunduğunu bildirir; bu, yalnızca bazı çalıştırmalarda ortaya çıkan bir hatadır. Go Öğren - Kodlama Kursu içindeki Concurrency Lab, detector altında 200 goroutine tarafından güncellenen bir counter gibi bulmacaları çalıştırır ve mutex ekleyip yeniden çalıştırmana olanak tanır. Kendi goroutine kodunu da yapıştırıp detector altında çalıştırabilirsin.

Go kata nedir?

Kata, kodla çözdüğün küçük ve odaklanmış bir egzersizdir; örneğin ASCII olmayan metinlerde bir string'i doğru şekilde tersine çevirmek veya errors.Is'ın hatayı hâlâ bulabilmesi için bir error'ı sarmalamak gibi. Go Öğren - Kodlama Kursu her gün yeni bir kata sunar, function'ını gizli olanlar da dahil olmak üzere bir case tablosuna karşı kontrol eder ve ardından kullanılan idiom'u açıklar. Günlük kata herkes için ücretsizdir.

Başlamak için programming deneyimine ihtiyacım var mı?

Hayır. Go Öğren - Kodlama Kursu, Go'nun ne olduğu ve neden var olduğu ile başlar; ardından variables, types ve control flow konularına geçer. Her kavram, uygulanmadan önce anlaşılır bir dille açıklanır. Başka bir dildeki deneyimin, ilk kurslarda daha hızlı ilerlemene yardımcı olur; ancak ilk kurs, sıfırdan başlayan biri için hazırlanmıştır.

Learn Go ücretsiz mi?

Uygulamayı indirmek ücretsizdir. İlk kursun yanı sıra günlük kata, günlük AI Mentor hakkı, sınırsız gofmt kontrolü, race detector altında sınırsız çalıştırma ve günde birkaç go vet çalıştırması da ücretsizdir. Pro tüm kursların kilidini açar, reklamları kaldırır, sınırsız AI Mentor hakkı verir ve kata library ile escape analysis'i açar.

Kursun sonunda sertifika var mı?

Evet. Final sınavını geçmen, kursu tamamladığını gösteren bir sertifika almanı sağlar. Sertifika yaptığın çalışmaları gösterir ve mülakatta anlatabileceğin küçük bir projenin yanında iyi durur; ancak akredite bir akademik yeterlilik değildir.

Learn Go, Golang mülakatına hazırlanmaya yardımcı oluyor mu?

Evet. Deneme mülakatı, junior, mid veya senior seviyesinde beş soru sorar; sorular slices ile arrays arasındaki farktan bir interface value'nun runtime'da ne tuttuğuna kadar uzanır ve yanıtlarını geri bildirimle birlikte puanlar. Go Recall cards, sık karşılaşılan gotcha'ları çalıştırır; bir mülakatta zayıf kaldığın konular da recall deck'ine eklenir. Haftada bir puanlı mülakat ücretsizdir.

Hangi platformları ve dilleri destekliyor?

Go Öğren - Kodlama Kursu, iOS'ta App Store üzerinden ve Android'de Google Play üzerinden çalışır; arayüz 22 dilde kullanılabilir. 4+ olarak derecelendirilmiştir; bu nedenle içeriklerin hiçbirinde yaş kısıtlaması yoktur.

Başla

İlk goroutine'ini bugün yaz

iOS ve Android'de, 22 dilde başlamak ücretsiz.

App Store — Ücretsiz indirGoogle Play — Ücretsiz indir
Son incelenme tarihi · CoddyKit tarafından yayımlandı · Gizlilik politikası
iOS ve Android üzerinde kullanılabilir.