Golang Beginner มาเริ่มต้นกัน

MheeGiggy
พลังประชา DEV — BAAC
2 min readJun 29, 2020

เห็นว่าช่วงนี้ภาษา Go มาแรง งั้นมาเขียนบล็อกภาษา Go เริ่มตั้งแต่ Beginner ไปจนถึง Advance กันเลยละกัน

ภาษา Go จะแยกส่วนของโปรแกรมออกเป็น package โดย 1 folder คือ 1 package (ทุกไฟล์ใน folder จะถือเป็น package เดียวกัน)

เริ่มต้นที่ package main โปรแกรมจะทำงานที่ function main ก่อน

จากรูปด้านบนก็คือโปรแกรม “Hello world” พื้นฐานนั่นเอง

ส่วนวิธีการ run โปรแกรม ให้เข้าไปที่ location ของ package main และใช้คำสั่ง “go run main.go”

ภาษา Go จะแยกส่วนของโปรแกรมออกเป็น package โดย 1 folder คือ 1 package (ทุกไฟล์ใน folder จะถือเป็น package เดียวกัน)

แต่ก่อนจะแยก package ใน Go version ใหม่ๆ จะมีเครื่องมือสำหรับจัดการ package หรือ library จากที่อื่น เช่น github ได้ง่ายขึ้น คือ Go modules เพราะฉะนั้นผมจะไม่พูดถึงการใช้งาน package ใน version เก่าๆนะครับ เรามาดูกันที่ go module อย่างเดียวเลย

การทำงานของ go modules นั้น ถ้าคนเขียน node js ให้นึกถึง package.json ซึ่งจะ go module จะเก็บชื่อ package หรือ library ที่เราใช้ใน project และเมื่อเรารันโปรแกรม go module จำทำหน้าที่ไปโหลด code จาก github หรือ ที่ต่างๆ ที่เราใช้มาให้เอง

วิธีการสร้าง go modules ให้ โปรเจค ให้ใช้คำสั่ง “go mod init xxx” xxx คือชื่อ module ตั้งอะไรก็ได้

ลองใช้ package จากข้างนอกดูครับ

จากโปรแกรมด้านบนคือ ผมใช้ library เพื่อจะ pad string จาก github เราก็เอา link github มาใส่ใน import ได้เลย เมื่อรัน go module จะไปดูดของมาให้เอง

เมื่อเข้าใจการใช้ go modules แล้ว ก่อนที่จะสร้าง และ package เพื่อให้ที่อื่นเรียก เราก็ต้องรู้จักการใช้งาน Public และ Private ใน go ซะก่อน

โดยใน Go ตัวแปลประเภท Public จะสามารถ เรียกข้าม package ได้ แต่ถ้า Private จะเรียกใช้งานเฉพาะใน package เดียวกัน โดยวิธีการทกำหนด Public และ Private จะกำหนดจากขนาดตัวอักษรตัวหน้า ถ้าตัวใหญ่จะเป็น Public ถ้าตัวเล็กจะเป็น Private

ตอนนี้ด็เตรียมของเสร็ขหมดแล้ว มาลองสร้าง package ใหม่ใน project ของเรากัน

จากรูปด้านบน ผมสร้าง package service เพิ่มขึ้นมา โดยประกอบไปด้วย Function Begin เป็น Public ที่จะ return string ออกมา

เมื่อเราแยก package แล้ว เราเข้าถึง function หรือ parameter ใน package อื่นได้ด้วยการ import

โดยวิธีการ import ให้ใช้ ชื่อ module / ชื่อ package ที่จะเรียก และวิธีการใข้งานก็คือ ชื่อ package . สิ่งที่ต้องการจะเรียกใช้ เช่น Parameter , function จากด้านบน ผมเรียก function Begin ใน package service

ถ้าจะเขียนภาษา Go สิ่งที่ต้องทำความเข้าใจเลยคือการ import เพราะคำสั่งเกือบทุกอย่างใน Go ต้อง import ก่อนใช้ทั้งหมด อย่าง code ด้านบน จะ print string ยังต้อง import package fmt มา ซึ่งถ้าเราลง extention ดีดีสักตัว พวก package พื้นฐานก็จะถูก import ให้เอง

--

--