รู้จักภาษา Go, Go Module และ Go Package: GoAPI Essential – EP. 1

รู้จักภาษา Go / Go Module และ Go package กัน | GoAPI Essential – EP. 1

ยินดีต้อนรับสู่คอร์สเรียนรู้ Backend Development ผ่านภาษา Go! คอร์สนี้จะพาคุณไปปูพื้นฐานทั้งหมดของภาษา Go ตั้งแต่ Syntax พื้นฐาน การ Build โครงสร้างข้อมูล ไปจนถึงการสร้าง API ซึ่งเป็นหัวใจสำคัญของคอร์สนี้ ภายใต้หัวข้อ GoAPI Essential – EP. 1 เราจะมาทำความรู้จักกับภาษา Go, Go Module และ Go Package อย่างละเอียด เพื่อให้คุณสามารถนำไปประยุกต์ใช้ในการพัฒนา Backend ได้อย่างมีประสิทธิภาพ

Backend Development และ Go

Backend Development คือการพัฒนาส่วนที่เป็นระบบหลังบ้านของแอปพลิเคชัน ไม่ว่าจะเป็นเว็บแอปพลิเคชัน หรือแพลตฟอร์มต่างๆ ที่เราใช้งานในชีวิตประจำวัน ส่วนนี้จะทำงานเบื้องหลังโดยที่เรามองไม่เห็น แต่มีความสำคัญอย่างยิ่งต่อการทำงานของระบบทั้งหมด

Backend Development คืออะไร

Backend Development คือการพัฒนาส่วนที่อยู่เบื้องหลังของแอปพลิเคชันหรือเว็บไซต์ ซึ่งผู้ใช้งานทั่วไปจะไม่สามารถมองเห็นได้โดยตรง แต่เป็นส่วนที่ทำหน้าที่ประมวลผลข้อมูล จัดการฐานข้อมูล และให้บริการ API สำหรับ Frontend หรือส่วนที่ผู้ใช้งานมองเห็น

Backend Development ทำอะไรบ้าง

Backend Development มีหน้าที่หลักๆ คือการจัดการข้อมูล การประมวลผลคำสั่งต่างๆ การสร้าง API เพื่อให้ Frontend สามารถดึงข้อมูลไปแสดงผลได้ รวมถึงการจัดการ Server และ Deployment เพื่อให้แอปพลิเคชันสามารถทำงานได้อย่างต่อเนื่องและปลอดภัย

Web Development 101

สำหรับผู้ที่ยังไม่คุ้นเคยกับ Backend Development ขอแนะนำให้ทำความเข้าใจ Web Development 101 ซึ่งจะช่วยให้เห็นภาพรวมการทำงานของ Server, Database และ Rest API ได้ชัดเจนยิ่งขึ้น

ภาษาที่ใช้ในการพัฒนา Server

ภาษาที่ใช้ในการพัฒนา Server มีหลากหลาย เช่น Go, Python, Java, Node.js, PHP เป็นต้น แต่ละภาษาก็มีข้อดีข้อเสียแตกต่างกันไป ขึ้นอยู่กับความถนัดของนักพัฒนาและลักษณะของโปรเจกต์

Database ที่ใช้ในการพัฒนา

Database เป็นส่วนสำคัญในการเก็บข้อมูลของแอปพลิเคชัน มีหลายประเภทให้เลือกใช้ เช่น MySQL, PostgreSQL, MongoDB, Redis เป็นต้น การเลือกใช้ Database ขึ้นอยู่กับความต้องการของโปรเจกต์ เช่น ความเร็วในการอ่านเขียนข้อมูล, ความซับซ้อนของข้อมูล, และขนาดของข้อมูล

ทำความรู้จักกับภาษา Go

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

Go คืออะไร

Go เป็นภาษาโปรแกรมมิ่งแบบ Open Source ที่ถูกออกแบบมาให้มีประสิทธิภาพสูง เหมาะสำหรับการพัฒนาซอฟต์แวร์ที่ต้องการความเร็วและความสามารถในการทำงานพร้อมกัน (Concurrency)

จุดเด่นของ Golang

  • Go เป็นภาษาที่ถูกพัฒนาขึ้นเพื่อความเรียบง่าย, มีประสิทธิภาพ, และง่ายต่อการอ่านและเขียน
  • Go เหมาะสำหรับการพัฒนา backend development
  • Go มี Type Checker ในตัว
  • Go เป็นภาษาที่ Compile
  • Go มี Performance ที่ดี
  • Go มี Garbage Collection
  • Go มี Concurrency Support

การประกาศ Type

Go เป็นภาษาที่มีการประกาศ Type ที่ชัดเจน ทำให้สามารถตรวจสอบข้อผิดพลาดได้ตั้งแต่ตอน Compile ช่วยลดโอกาสในการเกิด Bug และทำให้โค้ดมีความน่าเชื่อถือมากขึ้น

Compilation Level

Go เป็นภาษาที่ Compile ทำให้โค้ดสามารถทำงานได้เร็วขึ้น และสามารถนำไปใช้งานได้บนแพลตฟอร์มต่างๆ ได้ง่ายขึ้น

Performance ของ Go

Go มี Performance ที่ดีเยี่ยม เหมาะสำหรับการพัฒนาแอปพลิเคชันที่ต้องการความเร็วในการประมวลผลสูง

Garbage Collection

Go มี Garbage Collection ที่ช่วยจัดการหน่วยความจำโดยอัตโนมัติ ทำให้นักพัฒนาไม่ต้องกังวลกับการจัดการหน่วยความจำเอง

Concurrency Support

Go มี Concurrency Support ที่แข็งแกร่ง ทำให้สามารถเขียนโปรแกรมที่ทำงานพร้อมกันได้อย่างง่ายดาย

การติดตั้ง Go

การติดตั้ง Go ทำได้ง่าย เพียงดาวน์โหลดไฟล์ติดตั้งจากเว็บไซต์ Go.dev และทำตามขั้นตอนการติดตั้ง

Hello World ใน Go

โปรแกรม Hello World ใน Go เป็นดังนี้:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

การ Import Library

การ Import Library ใน Go ทำได้โดยใช้คำสั่ง import ตามด้วยชื่อ Package ที่ต้องการ

Go Run vs Go Build

go run ใช้สำหรับ Run โค้ดโดยตรง ส่วน go build ใช้สำหรับ Compile โค้ดให้เป็นไฟล์ Executable

Nodemon

Nodemon เป็นเครื่องมือที่ช่วยให้การพัฒนาเร็วขึ้น โดยจะทำการ Restart Server อัตโนมัติเมื่อมีการเปลี่ยนแปลง Code

Go Module คืออะไร

Go Module เป็นระบบจัดการ Dependency ของ Go ที่ช่วยให้การจัดการ Package ต่างๆ เป็นเรื่องง่ายขึ้น

Go Module คืออะไร

Go Module คือระบบที่ใช้จัดการ Dependency ของโปรเจกต์ Go ช่วยให้สามารถระบุ Version ของ Package ที่ต้องการใช้งานได้

Go Module: go.mod และ go.sum

go.mod เป็นไฟล์ที่เก็บข้อมูลเกี่ยวกับ Module และ Dependency ต่างๆ ส่วน go.sum เป็นไฟล์ที่เก็บ Hash ของ Dependency เพื่อตรวจสอบความถูกต้อง

การใช้งาน go.dev

Go.dev เป็นเว็บไซต์ที่รวบรวม Package ต่างๆ ของ Go ที่สามารถนำมาใช้งานได้

การสร้าง Go Module

การสร้าง Go Module ทำได้โดยใช้คำสั่ง go mod init <module_name>

การใช้ go get

go get ใช้สำหรับดาวน์โหลดและติดตั้ง Package ที่ต้องการ

การใช้ go list -m all

go list -m all ใช้สำหรับแสดงรายการ Dependency ทั้งหมดของโปรเจกต์

Go Package คืออะไร

Go Package เป็นการจัดระเบียบ Code ให้เป็นกลุ่มๆ เพื่อให้ง่ายต่อการจัดการและนำกลับมาใช้ใหม่

Go Package คืออะไร

Go Package คือการจัดกลุ่ม Code ที่เกี่ยวข้องเข้าด้วยกัน เพื่อให้ง่ายต่อการจัดการและการนำกลับมาใช้ใหม่

Function คืออะไร

Function คือกลุ่มของคำสั่งที่ทำงานร่วมกันเพื่อทำหน้าที่ใดหน้าที่หนึ่ง

การสร้าง Package

การสร้าง Package ทำได้โดยการสร้าง Folder และใส่ไฟล์ Go ที่มีคำสั่ง package <package_name>

การ Import Package

การ Import Package ทำได้โดยใช้คำสั่ง import ตามด้วย Path ของ Package

Private Function

Private Function คือ Function ที่สามารถเข้าถึงได้เฉพาะภายใน Package นั้นๆ

Public Function

Public Function คือ Function ที่สามารถเข้าถึงได้จาก Package อื่นๆ

Go ไม่มี Class

Go ไม่มี Class แต่ใช้ Struct และ Interface แทน

ข้อจำกัดของ Package

ข้อจำกัดของ Package คือการจัดการ Dependency และการเข้าถึง Function ที่อาจทำให้เกิดความซับซ้อนได้หากไม่ถูกออกแบบมาอย่างเหมาะสม


💬 ปรึกษาการเงินฟรีกับผู้เชี่ยวชาญ คลิกเพื่อแอดไลน์


👉 แอดไลน์เพื่อปรึกษาฟรี


หรือสแกน QR เพื่อแอด

QR Code Line