Go EP.1 เริ่มต้นเรียนรู้ภาษา Go

26 Aug 2021,
Share: 
Cover image

สวัสดีครับสําหรับบทความนี้เป็นเรื่องราวเกี่ยวกับการเริ่มต้นเรียนรู้ภาษา Go ว่ามีความเป็นมาอย่างไร และเริ่มต้น Coding ด้วยภาษา Go จะต้องเริ่มต้นอย่างไร

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

Go เป็นภาษาที่ถูกเริ่มต้นพัฒนาในปี 2007 โดย Robert Griesemer, Rob Pike และ Ken Thompson และเปิดตัวในปี 2009 โดยเปิดเป็น Open Sorce และได้รับความนิยมขึ้นมาเรื่อยๆจนถึงปัจจุบัน เนื่องจากภาษา Go เป็นภาษาที่เกิดมาที่หลังจึงทําให้นําเอาข้อดี ข้อเสียของภาษาอื่นๆมาปรับใช้ทําให้ภาษา Go เขียนง่าย, กระชับ และมีประสิทธิภาพที่ดี

จุดเด่นของภาษา Go

Compiler Language

คือมีการแปล Source Code ทั้งหมดให้กลายเป็น ภาษาเครื่อง (Executable File) ซึ่งเครื่องคอมพิวเตอร์สามารถนำไปรันได้ทันที ไม่ต้องแปลคำสั่งใหม่ทุกครั้งที่รัน เหมือนพวก Node.js, Java ฯลฯ ทําให้ทํางานได้เร็ว และเบามากๆ

Garbage Collector

ภาษาโกมีการใช้ Garbage Collector สำหรับเคลียร์ตัวแปร หรืออ็อบเจคที่ไม่ถูกใช้งานแล้ว ออกจากหน่วยความจำ โดยเราไม่ต้องไปจัดการเอง

Static Type

ภาษา Go เป็น Static language หมายความว่าการประกาศตัวแปรจะต้องระบุชนิดของข้อมูลเสมอ และสามารถตรวจสอบชนิดของข้อมูลได้ตั้งแต่ขั้นตอน Compile ซึ่งจะไม่เหมือนกับภาษาอื่นๆที่เป็น Dynamic-Type เช่น Python, JavaScript, PHP ซึ่งถ้าไม่ได้ระวังอาจจะเกิด Bug หรือ Error บน Production ได้

จุดเด่นอื่นๆ

  • Go พยายามลดปริมาณการพิมพ์ลดความยุ่งเหยิง และความซับซ้อน ทําให้ภาษาดูความกระชับ
  • ออกแบบมาสำหรับเขียนโปรแกรมแบบ Parallel โดยเฉพาะ

images

เริ่มต้นเขียนภาษา Go

เราจะเริ่มต้นด้วยการ Download Compiler ของ Go มาติดตั้งในเครื่องก่อนครับ โดยเข้าไปโหลดได้ที่เว็บของ Go โดยตรงที่นี่ครับ https://golang.org/dl/

เมื่อติดตั้งเรียบร้อย ก็ได้ถึงเวลาเขียนโปรแกรมแรกด้วยภาษา Go กันครับ Hello Go

ให้สร้างไฟล์ main.go ขึ้นมา และเขียน Code ดังนี้

package main

import "fmt"

func main() {
  fmt.Println("Hello Go")
}

หลังจากนั้นสามารถสั่งรันโปรแกรมได้ด้วยคำสั่งนี่ครับ

$ go run main.go

ก็จะเห็นผลลัพธ์เป็นคําว่า Hello Go ขึ้นมา

ถ้าหากต้องการจะ Build ออกมาเป็นไฟล์ Binary หรือ compile เป็นภาษาเครื่อง เพื่อนําไปรันใช้งานจริงๆ ก็สามารถใช้คําสั่งนี้ได้เลยครับ

$ go build main.go

หลังจากใช้คําสั่งนี้ Compiler ของ Go ก็จะแปลง Code ของเราเป็นภาษาเครื่อง และได้เป็นไฟล์ Binary เพื่อนําไปรันได้เลย

ถึงจุดนี้เราก็ได้เรียนรู้เกี่ยวกับภาษา Go เบื้องต้น และได้ลองเขียนโปรแกรมแรกกันไปแล้ว สําหรับในบทความต่อไปเราก็จะไปทําความรู้จักกับ Go module โดยสามารถอ่านต่อได้เลยครับที่นี่ Go EP.2 ทําความรู้จักกับ Go module

ที่มา:

Suggestion blogs

C++ OOP การสร้าง Pointer Object ของ Class

จากบทความ C++ OOP การสร้าง Class และการใช้งาน Class ผมอธิบายถึงการสร้าง Object แบบ Stack แต่ในบทความนี้ผมจะอธิบายเรื่องการสร้าง Object โดยใช้ Pointer ข้อแตกต่างกันคือ การสร้าง Object แบบ Stack จะคล้ายๆกับเราสร้างตัวแปรขึ้นมาตัวนึงเมื่อใช้งานเสร็จหรือจบโปรแกรม ระบบจะคืน memory หรือทําลาย Object นั้นทิ้งให้โดยอัตโนมัติ แต่ถ้าสร้าง Object แบบ Pointer จะไม่ทําลาย Object ให้เราเมื่อจบโปรแกรม เราจะต้องเป็นคนทําลาย Object เอง ทําสั่งที่ใช้ ทําลาย Object คือ "delete" ตามด้วย Object ที่ต้องการลบ _ถ้าเราไม่ลบ Object ที่เราสร้างขึ้น ระบบจะไม่สามารถเข้าใช้งาน memory ในส่วนนั้นได้ ทําให้เกิด memory leak _

[ภาษาซี] Storage Class

Storage Class คือ สิ่งที่ใช้กําหนดขอบเขตของตัวแปรว่าจะให้ใครสามารถเข้ามาเรียกใช้งานได้บ้าง และยังสามารถกําหนดระยะเวลาว่าจะให้โปรแกรมเก็บค่าของตัวแปรนั้นไว้นานเท่าไรได้ด้วย Storage Class แบ่งออกเป็น 4 ประเภท คือ

Setting wifi raspberry pi ด้วย command line

การ setting wifi ของ raspberry pi มีวิธีดังนี้ เริ่มแรก scan wifi ก่อนเพื่อดูว่า มี wifi ตัวไหนที่สามารถเชื่อมต่อได้บ้าง ด้วยคําสั่งนี้


Copyright © 2019 - 2025 thiti.dev |  v1.54.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ