สวัสดีครับสําหรับบทความนี้เป็นเรื่องราวเกี่ยวกับการเริ่มต้นเรียนรู้ภาษา 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
ที่มา:
เคยไหมเวลา login เข้า Secure Shell แล้ว ช้า สาเหตุเกิดจาก ค่า config default ของ sshd เมื่อมีการ login เข้ามาระบบจะพยายามแปลง ip address เป็นชื่อ host name โดยไปถามจาก DNS Server (reverse hostname lookup) ถ้าเครื่อง ไม่สามารถติดต่อ DNS Server ได้ จะทําให้ ตอน login จะค้างไปซักพัก
สวัสดีครับ ในบทความนี้จะมีเนื้อหาการใช้งาน Function ในภาษา JavaScript และ TypeScript ที่จะช่วยให้เราสามารถจัดการข้อมูลใน Array ได้ง่ายขึ้นมากๆ ตัวอย่างเช่น Filter ข้อมูล, รวมข้อมูล, Loop ข้อมูล, เพิ่มข้อมูล, ลบข้อมูล ฯลฯ
ค่าคงที่แบ่งออกเป็น 3 ประเภท คือ