สวัสดีครับสําหรับบทความนี้เป็นเรื่องราวเกี่ยวกับการเริ่มต้นเรียนรู้ภาษา Go ว่ามีความเป็นมาอย่างไร และเริ่มต้น Coding ด้วยภาษา Go จะต้องเริ่มต้นอย่างไร
Go เป็นภาษาที่ถูกเริ่มต้นพัฒนาในปี 2007 โดย Robert Griesemer, Rob Pike และ Ken Thompson และเปิดตัวในปี 2009 โดยเปิดเป็น Open Sorce และได้รับความนิยมขึ้นมาเรื่อยๆจนถึงปัจจุบัน เนื่องจากภาษา Go เป็นภาษาที่เกิดมาที่หลังจึงทําให้นําเอาข้อดี ข้อเสียของภาษาอื่นๆมาปรับใช้ทําให้ภาษา Go เขียนง่าย, กระชับ และมีประสิทธิภาพที่ดี
คือมีการแปล Source Code ทั้งหมดให้กลายเป็น ภาษาเครื่อง (Executable File) ซึ่งเครื่องคอมพิวเตอร์สามารถนำไปรันได้ทันที ไม่ต้องแปลคำสั่งใหม่ทุกครั้งที่รัน เหมือนพวก Node.js, Java ฯลฯ ทําให้ทํางานได้เร็ว และเบามากๆ
ภาษาโกมีการใช้ Garbage Collector สำหรับเคลียร์ตัวแปร หรืออ็อบเจคที่ไม่ถูกใช้งานแล้ว ออกจากหน่วยความจำ โดยเราไม่ต้องไปจัดการเอง
ภาษา Go เป็น Static language หมายความว่าการประกาศตัวแปรจะต้องระบุชนิดของข้อมูลเสมอ และสามารถตรวจสอบชนิดของข้อมูลได้ตั้งแต่ขั้นตอน Compile ซึ่งจะไม่เหมือนกับภาษาอื่นๆที่เป็น Dynamic-Type เช่น Python, JavaScript, PHP ซึ่งถ้าไม่ได้ระวังอาจจะเกิด Bug หรือ Error บน Production ได้

เราจะเริ่มต้นด้วยการ 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
ที่มา:
สวัสดีครับ วันนี้ผมจะมาสอนวิธีการเชื่อมต่อจอ OLED LCD กับ ESP8266 โดยผ่าน interface I2C ก่อนอื่นมาดูกันก่อนสิ่งที่ต้องเตรียมมีอะไรบ้าง
สวัสดีครับ สําหรับเนื้อหาในบทความนี้เราจะอธิบายถึง Function ที่ Arduino เตรียมไว้ให้เราใช้ ว่าแต่ละ Function มีไว้ทําอะไร ใช้งานอย่างไร โดยผมจะหยิบมาเฉพาะที่ใช้กันบ่อยๆ มาดูกันเลยครับ
Storage Class คือ สิ่งที่ใช้กําหนดขอบเขตของตัวแปรว่าจะให้ใครสามารถเข้ามาเรียกใช้งานได้บ้าง และยังสามารถกําหนดระยะเวลาว่าจะให้โปรแกรมเก็บค่าของตัวแปรนั้นไว้นานเท่าไรได้ด้วย Storage Class แบ่งออกเป็น 4 ประเภท คือ