0Pricing
Go Academy icon

Go Academy

GOBackendCloudSystemsWebBeginnerEnterpriseNetwork

เจาะลึกการเขียนโปรแกรม Go เพื่อสร้างแอปพลิเคชันที่มีประสิทธิภาพและสามารถขยายได้ด้วย GO Academy

🤖 ขับเคลื่อนด้วย AI📚 คอร์ส 51👥 ผู้เรียน 100,000+ คน⭐ คะแนน 4.9
ภาพรวมคอร์ส

Go: สร้างขึ้นสำหรับ Concurrency โดยออกแบบเพื่อ Scale

Go เป็นภาษาที่มี static type และ compiled ซึ่งถูกสร้างขึ้นที่ Google เพื่อรองรับความต้องการของระบบขนาดใหญ่ — การ compile ที่รวดเร็ว concurrency ที่ตรงไปตรงมา และ standard library ขั้นต่ำที่ครอบคลุมความต้องการในสภาพแวดล้อมจริง ภาษานี้เป็นแรงขับเคลื่อนของโครงสร้างพื้นฐานที่บริษัทเช่น Docker, Kubernetes, Cloudflare และ Uber ใช้งาน หลักสูตรนี้สอน Go ตั้งแต่หลักการพื้นฐานผ่านโมเดล concurrency REST APIs บริการ gRPC และเครื่องมือประสิทธิภาพที่วิศวกรใช้ในสภาพแวดล้อมจริง

สิ่งที่คุณจะเรียนรู้

คุณจะเริ่มต้นด้วยระบบ type ของ Go zero values และ control flow จากนั้นดำเนินการผ่าน slices maps structs interfaces และอนุสัญญาการจัดการ error ที่ทำให้โค้ด Go ที่คาดเดาได้ หลักสูตรครอบคลุม package sync goroutines channels และ statement select สำหรับการเขียนโปรแกรม concurrent พร้อมกับ package context สำหรับ cancellation ด้านจริงปฏิบัติคุณจะสร้าง HTTP servers และ clients ด้วย net/http เขียน REST APIs ด้วย Gin เพิ่ม middleware ค้นหาข้อมูลในฐานข้อมูลด้วย database/sql, sqlx, pgx และ GORM สร้างเครื่องมือ CLI ด้วย Cobra และ deploy แอปพลิเคชันภายใน Docker containers หัวข้อขั้นสูง ได้แก่ benchmarking ด้วย pprof worker pools pipelines gRPC reflection และ Go memory model

เส้นทางการเรียนรู้

หลักสูตรห้าสิบเอ็ดรายวิชามีความก้าวหน้าจาก A1 ผ่าน A2 B1 B2 และเข้าสู่ C1 หลักสูตรระดับ A สร้างหลักการพื้นฐานของภาษา — variables control flow functions multiple return values และ core collection types B1 ทำให้โมเดลลึกขึ้นด้วย structs pointers interfaces packages standard library และ file I/O B2 เป็นบล็อกที่ใหญ่ที่สุดและครอบคลุมทุกอย่างตั้งแต่ goroutines และ channels ผ่าน HTTP testing generics database access REST APIs ด้วย Gin Docker deployment structured logging ด้วย slog WebSockets และ cron jobs C1 ปิดท้ายด้วยเนื้อหาระดับ production: benchmarking และการ profile pprof worker pools และ pipelines advanced concurrency patterns gRPC ด้วย Go package reflect plugin system และ Go memory model และ garbage collector

วิธีการทำงาน

แต่ละหลักสูตรแบ่งออกเป็นบทเรียนสั้น ๆ ที่เน้นเฉพาะซึ่งคุณทำให้เสร็จในตัวแก้ไขโค้ดในตัวที่มีข้อเสนอแนะแบบ real-time เมื่อคุณติดขัด AI tutor จะพร้อมช่วยเหลือแบบอินไลน์เพื่ออธิบายแนวคิดโดยไม่ให้ใบหน้าซ่อนคำตอบ — ดังนั้นคุณจึงสร้างความเข้าใจที่แท้จริงแทนการคัดลอกวิธีแก้ปัญหา

เริ่มเรียนรู้ →

วิธีการเรียนรู้ของคุณ

🎯
บทเรียนแบบโต้ตอบ
แบบฝึกหัดการเขียนโค้ดโดยตรงพร้อมข้อเสนอแนะแบบเรียลไทม์
🤖
ติวเตอร์ AI
ได้รับความช่วยเหลือแบบทันทีจาก AI ของเราเมื่อคุณติดขัด
💻
ตัวแก้ไขในตัว
เขียนและรันโค้ดโดยตรงในเบราว์เซอร์ของคุณ
🏆
ใบรับรอง
ได้รับใบรับรองเมื่อคุณเสร็จสิ้นหลักสูตร
หลักสูตร

51 หลักสูตร

ทุกหลักสูตรในเส้นทางการเรียนรู้ Go Academy

01

ยินดีต้อนรับสู่ Go

A13 บทเรียน

ทำความรู้จัก Go เหตุใด Google จึงสร้างภาษานี้ และเหตุใดจึงเป็นขุมพลังของซอฟต์แวร์สำคัญระดับโลกบางส่วน อธิบายสำหรับผู้เริ่มต้นอย่างแท้จริง

02

พื้นฐาน Go: ตัวแปร ชนิดข้อมูล และค่าเริ่มต้น

A14 บทเรียนPRO

เรียนรู้ระบบชนิดข้อมูลของ Go การประกาศตัวแปรด้วย var และ := ค่าเริ่มต้น และค่าคงที่รวมถึง iota

03

การควบคุมลำดับการทำงาน: if, for, switch

A14 บทเรียนPRO

เชี่ยวชาญโครงสร้างควบคุมลำดับการทำงานของ Go ได้แก่ if พร้อมคำสั่งเริ่มต้น ลูป for ที่ยืดหยุ่น และ switch

04

ฟังก์ชันและค่าที่ส่งคืนหลายค่า

A24 บทเรียนPRO

ทำความเข้าใจฟังก์ชันของ Go ทั้งลายเซ็น พารามิเตอร์แบบแปรผัน ค่าที่ส่งคืนแบบมีชื่อ defer และฟังก์ชันชั้นหนึ่ง

05

อาร์เรย์ สไลซ์ และแมป

A24 บทเรียนPRO

เจาะลึกคอลเลกชันของ Go ได้แก่ อาร์เรย์ขนาดคงที่ สไลซ์แบบไดนามิก และแฮชแมป พร้อมรูปแบบการใช้งานตามแนวทางของภาษา

06

สตริง Go และแพ็กเกจ strings

A24 บทเรียนPRO

สตริง Go และแพ็กเกจ strings: รูนเทียบกับไบต์ ฟังก์ชันของแพ็กเกจ strings และอื่น ๆ

07

การจัดรูปแบบด้วย fmt และ Stringer

A24 บทเรียนPRO

การจัดรูปแบบด้วย fmt และ Stringer: คำกริยาของ Printf, Sprintf และ Fprintf และอื่น ๆ

08

เวลา Go และแพ็กเกจ time

A24 บทเรียนPRO

เวลา Go และแพ็กเกจ time: เวลาและช่วงเวลา การจัดรูปแบบและการแยกวิเคราะห์ และอื่น ๆ

09

พื้นฐานสตรักต์และเมธอดใน Go

B14 บทเรียนPRO

สร้างแบบจำลองข้อมูลด้วยสตรักต์ เพิ่มพฤติกรรมผ่านเมธอด และทำความเข้าใจตัวรับค่าเทียบกับตัวรับพอยน์เตอร์

10

พอยน์เตอร์ใน Go

B14 บทเรียนPRO

ทำความเข้าใจพอยน์เตอร์ใน Go ได้แก่ แอดเดรสหน่วยความจำ การอ่านค่าที่พอยน์เตอร์ชี้ ตัวรับพอยน์เตอร์ และกรณีที่ควรใช้พอยน์เตอร์

11

อินเทอร์เฟซและการพิมพ์แบบเป็ดใน Go

B14 บทเรียนPRO

เรียนรู้ระบบอินเทอร์เฟซโดยนัยของ Go การกำหนดและใช้งานอินเทอร์เฟซ รวมถึงการยืนยันชนิดและสวิตช์ตามชนิด

12

การจัดการข้อผิดพลาดใน Go

B14 บทเรียนPRO

เชี่ยวชาญการจัดการข้อผิดพลาดอย่างชัดเจนของ Go ได้แก่ อินเทอร์เฟซ error, errors.Is/As การห่อข้อผิดพลาด และชนิดข้อผิดพลาดแบบกำหนดเอง

13

แพ็กเกจและโมดูลใน Go

B14 บทเรียนPRO

จัดระเบียบโค้ด Go ด้วยแพ็กเกจ จัดการการพึ่งพาด้วยโมดูลของ Go และทำความเข้าใจกฎการมองเห็น

14

พื้นฐานสำคัญของไลบรารีมาตรฐาน Go

B14 บทเรียนPRO

สำรวจแพ็กเกจสำคัญในไลบรารีมาตรฐานของ Go ได้แก่ fmt, strings, strconv, math, time และ os

15

นิพจน์ปกติใน Go

B14 บทเรียนPRO

นิพจน์ปกติใน Go: พื้นฐาน regexp การค้นหาและดึงข้อมูล และอื่น ๆ

16

การเรียงลำดับใน Go และแพ็กเกจ sort

B14 บทเรียนPRO

การเรียงลำดับใน Go และแพ็กเกจ sort: การเรียงลำดับสไลซ์ ลำดับการเรียงแบบกำหนดเอง และอื่น ๆ

17

เจาะลึกแผนที่ใน Go

B14 บทเรียนPRO

เจาะลึกแผนที่ใน Go: กลไกภายในของแผนที่ การตรวจสอบการมีอยู่ และอื่น ๆ

18

แท็กโครงสร้างและการตรวจสอบใน Go

B14 บทเรียนPRO

แท็กโครงสร้างและการตรวจสอบใน Go: แท็กโครงสร้างคืออะไร แท็ก JSON และอื่น ๆ

19

รูปแบบการเข้ารหัสใน Go

B14 บทเรียนPRO

รูปแบบการเข้ารหัสใน Go: ทบทวน encoding/json, encoding/xml และอื่น ๆ

20

การรับส่งข้อมูลกับไฟล์และการทำงานกับ JSON

B14 บทเรียนPRO

อ่านและเขียนไฟล์ด้วย os และ bufio เข้ารหัสและถอดรหัส JSON ด้วย encoding/json และจัดการข้อมูล CSV

21

bufio ใน Go และการรับส่งข้อมูลอย่างมีประสิทธิภาพ

B14 บทเรียนPRO

bufio ใน Go และการรับส่งข้อมูลอย่างมีประสิทธิภาพ: ตัวอ่านแบบมีบัฟเฟอร์ ตัวสแกน และอื่น ๆ

22

การฝังและการประกอบใน Go

B14 บทเรียนPRO

การฝังโครงสร้างและการประกอบใน Go: การฝังโครงสร้าง การฝังส่วนติดต่อ และอื่น ๆ

23

พื้นฐานกอรูทีนและแชนเนล

B24 บทเรียนPRO

เปิดใช้กอรูทีน สื่อสารผ่านแชนเนล และทำความเข้าใจโมเดลการทำงานพร้อมกันของ Go ด้วยแชนเนลแบบมีบัฟเฟอร์

24

คำสั่ง Select และรูปแบบการใช้งานแชนเนล

B24 บทเรียนPRO

ใช้ select สำหรับการสื่อสารผ่านหลายแชนเนล ใช้รูปแบบรวมเข้าและกระจายออก การหมดเวลา และกลุ่มเวิร์กเกอร์

25

Mutex และแพ็กเกจ sync

B24 บทเรียนPRO

ปกป้องสถานะที่ใช้ร่วมกันด้วย Mutex, RWMutex, Once และ WaitGroup จากแพ็กเกจ sync ของ Go

26

แพ็กเกจ Context สำหรับการยกเลิก

B24 บทเรียนPRO

ใช้ context.Context เพื่อส่งต่อการยกเลิก กำหนดเวลาเส้นตาย และค่าตามขอบเขตของคำขอผ่านกอรูทีนต่าง ๆ

27

เซิร์ฟเวอร์ HTTP ด้วย net/http

B24 บทเรียนPRO

สร้างเซิร์ฟเวอร์ HTTP ใน Go ด้วย net/http ได้แก่ ตัวจัดการ ServeMux มิดเดิลแวร์ และการปิดระบบอย่างนุ่มนวล

28

ไคลเอนต์ HTTP และการเรียกใช้ REST API

B24 บทเรียนPRO

เรียกใช้ REST API ด้วย http.Client ของ Go ครอบคลุมการหมดเวลา ส่วนหัว การยืนยันตัวตน การแยกวิเคราะห์ JSON และการลองใหม่

29

กลยุทธ์การทดสอบ Go

B24 บทเรียนPRO

เขียนการทดสอบที่มีประสิทธิภาพด้วยแพ็กเกจ testing ของ Go ได้แก่ การทดสอบแบบขับเคลื่อนด้วยตาราง การทดสอบย่อย ม็อก และความครอบคลุมการทดสอบ

30

Generics ใน Go: พารามิเตอร์ชนิดข้อมูลและข้อจำกัด

B24 บทเรียนPRO

เชี่ยวชาญ Generics ของ Go 1.18 ขึ้นไป ได้แก่ พารามิเตอร์ชนิดข้อมูล ข้อจำกัด comparable และรูปแบบการใช้ Generics ในงานจริง

31

io.Reader และ io.Writer ใน Go

B24 บทเรียนPRO

io.Reader และ io.Writer ใน Go: ส่วนติดต่อผู้อ่าน ส่วนติดต่อผู้เขียน และอื่น ๆ

32

รูปแบบตัวเลือกเชิงฟังก์ชันใน Go

B24 บทเรียนPRO

รูปแบบตัวเลือกเชิงฟังก์ชันใน Go: ปัญหาของพารามิเตอร์จำนวนมาก ฟังก์ชันตัวเลือก และอื่น ๆ

33

การจำกัดอัตราใน Go

B24 บทเรียนPRO

การจำกัดอัตราใน Go: แนวคิดถังโทเค็น golang.org/x/time/rate และอื่น ๆ

34

พื้นฐาน database/sql ใน Go

B24 บทเรียนPRO

พื้นฐาน database/sql ใน Go: การเปิดการเชื่อมต่อ การสอบถามแถวข้อมูล และอื่น ๆ

35

การสร้างแอป CLI ด้วย Cobra

B24 บทเรียนPRO

สร้างเครื่องมือบรรทัดคำสั่งระดับมืออาชีพด้วย Cobra ได้แก่ คำสั่ง แฟล็ก คำสั่งย่อย การกำหนดค่า และการแจกจ่าย

36

การเข้าถึงฐานข้อมูลด้วย sqlx และ pgx

B24 บทเรียนPRO

เรียกใช้ PostgreSQL จาก Go ด้วย database/sql ใช้ sqlx เพื่อสแกนข้อมูลลงสตรักต์ และใช้ pgx เพื่อการเข้าถึงประสิทธิภาพสูง

37

การสร้าง REST API ด้วย Gin

B24 บทเรียนPRO

สร้าง REST API ระดับใช้งานจริงด้วยเฟรมเวิร์ก Gin ได้แก่ การกำหนดเส้นทาง การผูกข้อมูล การตรวจสอบความถูกต้อง และการจัดการข้อผิดพลาด

38

รูปแบบมิดเดิลแวร์ใน Go

B24 บทเรียนPRO

ออกแบบมิดเดิลแวร์ HTTP ที่นำกลับมาใช้ได้ ได้แก่ การบันทึกล็อก การจำกัดอัตรา การยืนยันตัวตน CORS และการแทรก ID ของคำขอ

39

การนำแอปพลิเคชัน Go ไปใช้งานด้วย Docker

B24 บทเรียนPRO

บรรจุไบนารี Go เป็นคอนเทนเนอร์ด้วยการสร้าง Docker แบบหลายระยะ Docker Compose การกำหนดค่าสภาพแวดล้อม และการตรวจสอบสุขภาพ

40

ORM GORM ใน Go

B24 บทเรียนPRO

ORM GORM ใน Go: แบบจำลองและ AutoMigrate การดำเนินการ CRUD และอื่น ๆ

41

การกำหนดค่าใน Go ด้วย Viper

B24 บทเรียนPRO

การกำหนดค่าใน Go ด้วย Viper: การอ่านไฟล์การกำหนดค่า ตัวแปรสภาพแวดล้อม และอื่น ๆ

42

การบันทึกแบบมีโครงสร้างใน Go ด้วย slog

B24 บทเรียนPRO

การบันทึกแบบมีโครงสร้างใน Go ด้วย slog: เหตุผลที่ต้องใช้บันทึกแบบมีโครงสร้าง ตัวจัดการ slog และอื่น ๆ

43

WebSockets ใน Go

B24 บทเรียนPRO

WebSockets ใน Go: พื้นฐาน WebSocket การใช้ gorilla/websocket และอื่น ๆ

44

งาน Cron และการจัดตารางเวลาใน Go

B24 บทเรียนPRO

งาน Cron และการจัดตารางเวลาใน Go: การจัดตารางตามเวลา คลัง robfig/cron และอื่น ๆ

45

การวัดประสิทธิภาพและการทำโปรไฟล์ด้วย pprof ใน Go

C14 บทเรียนPRO

วัดและปรับปรุงประสิทธิภาพโค้ด Go ด้วยเบนช์มาร์ก โปรไฟล์ CPU/heap ของ pprof และร่องรอยการทำงาน

46

กลุ่มผู้ทำงานและสายงานใน Go

C14 บทเรียนPRO

กลุ่มผู้ทำงานและสายงานใน Go: รูปแบบกลุ่มผู้ทำงาน Fan-Out Fan-In และอื่น ๆ

47

รูปแบบการทำงานพร้อมกันขั้นสูง

C14 บทเรียนPRO

สร้างระบบทำงานพร้อมกันระดับใช้งานจริงด้วยสายงาน errgroup เซมาฟอร์ และรูปแบบรีแอ็กเตอร์

48

gRPC ด้วย Go

C14 บทเรียนPRO

กำหนดบริการด้วย Protocol Buffers สร้างโค้ด Go และใช้งานบริการ gRPC แบบยูนารีและแบบสตรีม

49

การสะท้อนและแพ็กเกจ reflect

C14 บทเรียนPRO

ตรวจสอบและจัดการชนิดข้อมูลขณะโปรแกรมทำงานด้วย reflect ได้แก่ Kind, Value แท็กของสตรักต์ และการเรียกใช้แบบไดนามิก

50

ระบบปลั๊กอินใน Go

C14 บทเรียนPRO

สร้างแอปพลิเคชัน Go ที่ขยายความสามารถได้ด้วยแพ็กเกจปลั๊กอิน อินเทอร์เฟซ และการโหลดแบบไดนามิกบน Linux

51

โมเดลหน่วยความจำและตัวเก็บคืนหน่วยความจำของ Go

C14 บทเรียนPRO

ทำความเข้าใจโมเดลหน่วยความจำของ Go กฎ happens-before ความแตกต่างระหว่างสแตกกับฮีป การวิเคราะห์การหลุดออก และการปรับแต่ง GC

คำถามที่พบบ่อย

คำถามที่พบบ่อย

หลักสูตร Go Academy ฟรีหรือไม่

ใช่ คุณสามารถเริ่มหลักสูตร Go Academy ได้ฟรีและเสร็จสิ้นบทเรียนแบบโต้ตอบโดยไม่มีค่าใช้จ่าย การสมัครสมาชิก PRO ที่เป็นทางเลือกจะปลดล็อกเครื่องมือ AI ขั้นสูงและใบรับรองที่แชร์ได้

ฉันต้องมีประสบการณ์มาก่อนหรือไม่ในการเรียนรู้ GO

ไม่ หลักสูตรเริ่มต้นด้วยพื้นฐานและค่อยๆ ไปสู่หัวข้อที่ซับซ้อนมากขึ้น ดังนั้นคุณสามารถเริ่มได้แม้ว่าจะไม่มีประสบการณ์ GO มาก่อน

ฉันจะเรียนรู้ GO บน CoddyKit ได้อย่างไร

คุณเรียนรู้โดยการลงมือทำ บทเรียนสั้น ๆ แบบโต้ตอบจับคู่คำอธิบายที่ชัดเจนกับแบบฝึกหัดการเขียนโค้ดที่ทำงานในเวลาจริง และติวเตอร์ AI ที่ทำงาน 24/7 ให้ความช่วยเหลือแบบบุคคลเมื่อคุณติดขัด

ฉันได้รับใบรับรองสำหรับการเสร็จสิ้น Go Academy หรือไม่

ใช่ ผู้เรียน PRO สามารถสอบและได้รับใบรับรองการเสร็จสิ้นที่แชร์ได้พร้อมรหัสที่สามารถตรวจสอบได้สำหรับหลักสูตร Go Academy

ฉันสามารถเรียนรู้ GO บนโทรศัพท์ของฉันได้หรือไม่

ใช่ CoddyKit พร้อมใช้งานบนเว็บและเป็นแอปพลิเคชันแบบเนทีฟ iOS และ Android ดังนั้นคุณสามารถเรียนรู้ GO บนอุปกรณ์ใดก็ได้และความคืบหน้าของคุณจะซิงค์ในทุกอุปกรณ์

เริ่มเรียน Go Academy ตอนนี้

เข้าร่วมกับผู้เรียนนับพันคนที่กำลังเรียนรู้การเขียนโปรแกรมผ่านบทเรียนที่ขับเคลื่อนด้วย AI

เริ่มฟรี →ดูคอร์สทั้งหมด