เมื่อมีคนถามว่าจะเริ่มเรียนรู้ภาษาโปรแกรมใหม่ได้อย่างไร โดยปกติแล้วฉันจะบอกพวกเขาเหมือนกันคือ เริ่มต้นด้วยแหล่งข้อมูลที่เป็นทางการ แหล่งข้อมูลเหล่านั้นเขียนและดูแลโดยผู้สร้างภาษา และสะท้อนให้เห็นไม่เพียงแค่ไวยากรณ์เท่านั้น แต่ยังรวมถึงปรัชญาเบื้องหลังด้วย
ในโพสต์นี้ ฉันจะยกตัวอย่างการเรียนรู้ Go เพื่อแสดงให้เห็นถึงแนวทางที่เรามักใช้ในการเรียนรู้สิ่งใหม่ๆ
สำหรับ Go มีคู่มืออย่างเป็นทางการสองฉบับที่ผู้เริ่มต้นทุกคนควรอ่าน:
- A Tour of Go – บทเรียนแบบอินเทอร์แอกทีฟที่จะแนะนำคุณเกี่ยวกับไวยากรณ์หลัก ประเภท และคุณสมบัติการทำงานพร้อมกันใน Go กระชับ เข้าถึงได้ และเหมาะสำหรับการทำความเข้าใจภาษาอย่างรวดเร็ว
- Effective Go – คู่มือนี้ไม่ได้เน้นแค่ไวยากรณ์ แต่เน้นที่การเขียนโค้ดที่เป็นสำนวนภาษาและ "เหมือน Go" อธิบายวิธีการจัดโครงสร้างโปรแกรม จัดการข้อผิดพลาด และใช้รูปแบบการออกแบบที่เป็นเอกลักษณ์ของ Go อย่างมีประสิทธิภาพ
การศึกษาทั้งสองอย่างจะช่วยให้คุณมีพื้นฐานที่แข็งแกร่ง ไม่ใช่แค่ในเรื่องวิธีการทำงานของ Go เท่านั้น แต่ยังรวมถึงวิธีที่โปรแกรมเมอร์ Go คิดด้วย
เริ่มต้นเล็กๆ สร้างสิ่งต่างๆ
เมื่อคุณเข้าใจพื้นฐานแล้ว วิธีที่ดีที่สุดที่จะเข้าใจ Go อย่างแท้จริงคือการเริ่มสร้างสิ่งต่างๆ ด้วย Go คุณไม่จำเป็นต้องมีโปรเจ็กต์ใหญ่ๆ อันที่จริง โปรเจ็กต์ขนาดเล็กที่เน้นเฉพาะจะช่วยให้คุณเรียนรู้ได้เร็วขึ้นและมีแรงจูงใจอยู่เสมอ
นี่คือแนวคิดบางส่วนในการเริ่มต้น:
- เว็บเซิร์ฟเวอร์อย่างง่าย – ใช้แพ็กเกจ
net/httpที่มีอยู่แล้วใน Go เพื่อจัดการคำขอและการตอบสนอง คุณจะได้เรียนรู้ว่าไลบรารีมาตรฐานของ Go สนับสนุนการออกแบบที่สะอาดและเรียบง่ายได้อย่างไร - ตัวกำหนดตารางงาน – ฝึกใช้ goroutine และ channel เพื่อรันงานเบื้องหลังหรืองานตามกำหนดเวลา เป็นวิธีที่ยอดเยี่ยมในการรับประสบการณ์ตรงกับโมเดลการทำงานพร้อมกันของ Go
- เครื่องมือบรรทัดคำสั่ง – สร้างสิ่งที่ใช้งานได้จริง เช่น ตัวเปลี่ยนชื่อไฟล์ ตัวจดบันทึก หรือตัวจัดการรายการสิ่งที่ต้องทำ แพ็กเกจ flag และ os ของ Go ทำให้สิ่งนี้ง่ายอย่างน่าประหลาดใจ
- ไคลเอนต์ JSON API – เชื่อมต่อกับ API สาธารณะ ถอดรหัสการตอบสนอง JSON และแสดงผลอย่างสวยงามในเทอร์มินัล
- ตัวย่อ URL – รวมการจัดการเว็บ การจัดเก็บข้อมูล และการทำงานพร้อมกันไว้ในโปรเจ็กต์เดียว
แต่ละโปรเจ็กต์เหล่านี้จะแนะนำคุณให้รู้จักกับแง่มุมต่างๆ ของ Go ไม่ว่าจะเป็นเครือข่าย การทำงานพร้อมกัน การจัดการไฟล์ หรือโครงสร้างข้อมูล พร้อมทั้งให้สิ่งที่เป็นรูปธรรมเพื่อแสดงความคืบหน้าของคุณ
อ่านและคิดอย่างเป็นระบบ
เมื่อคุณเขียนโปรแกรมขนาดเล็กได้อย่างคล่องแคล่วแล้ว การลงทุนเวลาในการอ่านหนังสือที่มีโครงสร้างดีซึ่งครอบคลุม Go ตั้งแต่พื้นฐานก็คุ้มค่า
หนังสือที่ดีที่สุดเล่มหนึ่งสำหรับเรื่องนี้คือ The Go Programming Language by Alan Donovan and Brian Kernighan เขียนโดยผู้ที่เข้าใจอย่างลึกซึ้งทั้งการออกแบบภาษาโปรแกรมและหลักการของ Go หนังสือเล่มนี้จะแนะนำคุณเกี่ยวกับภาษาอย่างเป็นระบบ ตั้งแต่พื้นฐานไปจนถึงแนวคิดขั้นสูง เช่น การสะท้อน การทำงานพร้อมกัน และการจัดระเบียบแพ็กเกจ
ไม่ใช่หนังสือที่อ่านง่าย แต่ถ้าคุณค่อยๆ อ่านและเขียนโค้ดตามไปด้วย หนังสือเล่มนี้จะช่วยให้คุณมีแบบจำลองทางความคิดที่แข็งแกร่งเกี่ยวกับวิธีการทำงานร่วมกันของ Go ซึ่งเป็นสิ่งที่บทเรียนเพียงอย่างเดียวไม่สามารถให้ได้
ติดตามข่าวสารจากชุมชน Go
เพื่อให้ทักษะของคุณเฉียบคมอยู่เสมอ สร้างนิสัยในการอ่าน The Go Blog ซึ่งเผยแพร่ข้อมูลเชิงลึกเกี่ยวกับคุณสมบัติใหม่ การปรับปรุงประสิทธิภาพ และการตัดสินใจออกแบบภาษาของ Go เป็นประจำ
เมื่อคุณรู้สึกพร้อม ให้เริ่มเรียกดูโปรเจ็กต์ Go แบบโอเพนซอร์ส การอ่านโค้ดที่ดีเป็นวิธีที่เร็วที่สุดวิธีหนึ่งในการเรียนรู้วิธีเขียนโค้ดที่ดี โปรเจ็กต์คลาสสิกสองสามโปรเจ็กต์ที่ควรดู:
- Kubernetes – โค้ด Go ขนาดใหญ่ที่ซับซ้อนในการใช้งานจริง
- Gin – เฟรมเวิร์กเว็บที่รวดเร็วและสง่างาม
- Prometheus – ตัวอย่างที่ดีของ Go ที่ใช้สำหรับการตรวจสอบและการเขียนโปรแกรมระบบ
สุดท้ายนี้ หากคุณต้องการจับตาดูสิ่งที่กำลังเป็นที่นิยมในชุมชน Go Go Feed เป็นสถานที่ที่ดีในการค้นพบบทความ บล็อก บทเรียน และการสนทนาใหม่ๆ
สรุป
การเรียนรู้ Go ไม่ใช่เรื่องของการเร่งรีบผ่านไวยากรณ์หรือการท่องจำรูปแบบ แต่เป็นเรื่องของการทำความเข้าใจความเรียบง่าย วิธีการเขียนโปรแกรมที่ชัดเจน รวดเร็ว และบำรุงรักษาได้ ซึ่งทำสิ่งหนึ่งได้ดี เริ่มต้นด้วยคู่มืออย่างเป็นทางการ สร้างสิ่งเล็กๆ อ่านหนังสือดีๆ สักเล่มหรือสองเล่ม และสำรวจต่อไป เมื่อเวลาผ่านไป คุณจะพบว่าการออกแบบของ Go จะกำหนดไม่เพียงแต่วิธีที่คุณเขียนโค้ดเท่านั้น แต่ยังรวมถึงวิธีที่คุณคิดเกี่ยวกับซอฟต์แวร์ด้วย
No comment for this article.