การอ้างถึง Package ของโปรแกรมเมอร์จอมขี้เกียจ

ต่อจากตอนที่แล้ว เมื่อเรารู้แล้วว่าจะดึง Library อื่นๆมาใช้อย่างไร ก็ด้วยการ Import Package เข้ามาในไฟล์ของเรา แล้วเราจะอ้างถึงชื่อแพคเกจอย่างไร มีหลักๆ 2 วิธีครับ คือใช้เฉพาะชื่อไดเรคทอรี่สุดท้าย เช่น “net/http” เวลาอ้างถึงก็ใช้แค่ http แล้วตามด้วยจุด (.) ค่อยอ้างถึงฟังค์ชั่นที่ Export ให้เราใช้ได้

Screen Shot 2559-02-17 at 00.55.11

วิธีที่สองหากชื่อแพคเกจยาว หรือซ้ำละ เช่น “log” ซึ่งเป็นแพ็คเกจมาตรฐาน กับ “raft.log” เราอาจตั้งชื่อเล่นให้มัน นำหน้าบรรทัดที่ Import เช่น
อย่างนี้ก็สามารถอ้างใช้ golog ในโค้ดของเราโดยไม่สับสนกับ rqlite.log ซึ่งเราจะเรียกใช้เฉพาะคำว่า log ก็พอ เป็นต้น

Screen Shot 2559-02-17 at 00.55.19

นอกจากนี้เรายังใช้ _ วางหน้าไลบรารี่บางตัวที่ต้องการอิมพอร์ต แต่ไม่มีการเรียกใช้งานตรงๆในโค้ดของเรา เช่นพวก Database Driver พวกนี้ต้องการอ้างถึง เพื่อใน “database/sql” เป็นตัวอ้างใช้งานผ่าน init() ของไลบรารี่นั้นๆ เช่น

import (
  "database/sql"
  _ "github.com/lib/pq"
)

มีคำถามผุดขึ้นมาในหัวว่าแล้วผมจะรู้ได้ยังไงว่าใน library ที่อ้างใช้นี้มันมีฟังค์ชั่นอะไรให้ใช้บ้าง แล้วมีเมธอด อะไรบ้าง คำตอบแบบดิบเถื่อนก็คือไปเปิด http://golang.org/pkg/ ในกรณีเป็นไลบรารี่มาตรฐาน และไปเปิด http://godoc.org สำหรับ 3rd Party Lib แล้วก็กด CMD+F หาเอา …บังเอิ๊ญผมมันเป็นจอมขี้เกียจเสียด้วยจึงขอแนะนำให้คนขึ้เกียจเหมือนผม ติดตั้งตัวช่วย ซึ่งในที่นี้จะแนะนำ 2 ตัวก็พอ (เพราะขี้เกียจ) ขึ้นอยู่กับว่าอยากใช้ Editor หรือ IDE ตัวไหน

1. ใช้ ATOM -> ค้นหาในหน้า Package ใส่ ปลั๊กอิน “Go-Plus” มีคำแนะนำการติดตั้งเยอะแยะในเน็ต ลองหาดูนะครับ สำหรับผม ATOM + Go-Plus ก็มีข้อดีที่ตัวช่วยสวยงามน่าใช้

Screen Shot 2559-02-17 at 00.48.58

แต่ถ้าใครยังขี้เกียจไม่พอ เพราะตัวนี้ยังไม่ทำ Auto Complete ให้ที่ตัว Import ผมขอแนะนำตัวถัดไป
2. ใช้ Intellij Idea CE เน้นว่า Community Edition ก็พอ ซึ่งฟรี! ความเห็นส่วนตัวของผมคือถ้าคุณจะ Dev Golang ตัวนี้ตัวเดียวติดตั้ง Plug-in “Go” ขั้นตอนเดียวจบ จากหน้าติดตั้งตามนี้ (ถ้าเครื่องไม่ได้ติดตั้ง JDM ก็ให้ติดตั้งซะก่อนนะครับ)

 Screen Shot 2559-02-17 at 00.30.19

ที่หน้าแรกเปิด Configure>Plugins

Screen Shot 2559-02-17 at 00.31.38

จิ้มที่ Browse repositories… สิ

Screen Shot 2559-02-17 at 00.32.01

พิมพ์ค้นคำว่า go ก็เจอตัวละ อันที่สองนี่เอง ติดตั้งตัวเดียวจบจริงๆนะ ง่ายมากเลย

ที่พูดมาทั้งหมด ก็คือ Intellij ตัวเดียว(เท่าที่ผมใช้มา) ที่มี “Auto Import!!” ไม่ต้องกลัวลืม Import เพราะมันจะเทพเดาให้เอง แม้ว่านานๆทีก็เดาผิดเหมือนกันนะ (โดยเฉพาะถ้าคุณมือขยันอัญเชิญ go get ไลบรารี่มาเยอะแยะ มันก็จะถามว่าไม่แน่ใจว่านายจะเอาตัวไหน มาเตือนให้เราเลือกด้วย)

เทคนิคเล็กๆ สำหรับจอมขี้เกียจ ให้ IDE ทำ Auto Complete ให้ก็คือ ตรง Import ให้เราใส่ “” แล้วก็พิมพ์คีย์เวิร์ดของไลบรารี่ที่เราจำได้ลงไป เช่น ผมจะเชื่อมกับ sqlite แต่ผมขี้เกียจท่องจำชื่อคนเขียน Lib ผมก็แค่พิมพ์ “sqlite”

Screen Shot 2559-02-17 at 00.26.46

ฮั่นแน่! เจอแล้วง่ายดีจัง แถมฟรีด้วยนะเนี่ย