ทำความเข้าใจโปรแกรม Minimal Go

ทำความเข้าใจโปรแกรม Minimal Go

ความนิยมของ Go เพิ่มขึ้นในช่วงหลายปีที่ผ่านมา มีบริษัทจำนวนมากขึ้นที่เลือกใช้ Go และกลุ่มนักพัฒนาก็เติบโตขึ้นตามกรณีการใช้งานภาษาที่เพิ่มขึ้น ผู้คนใช้เพื่อสร้างโปรแกรมตั้งแต่เว็บแอปที่รวดเร็ว โซลูชันบล็อกเชน และเครื่องมือการเรียนรู้ของเครื่อง





คลิปวิดีโอประจำวันนี้

นักพัฒนาชื่นชอบ Go เพราะความสามารถในการแสดงออก ความสะดวกในการใช้งาน และประสิทธิภาพของภาษาที่สูง Go มีช่วงการเรียนรู้ที่เร็วกว่าภาษาส่วนใหญ่ด้วยระบบนิเวศของแพ็คเกจและไลบรารีที่เติบโตอย่างรวดเร็ว





เริ่มต้นใช้งาน Go

ภาษาโปรแกรม Go ไม่ได้ติดตั้งไว้ล่วงหน้าบน Windows, macOS หรือ Linux distros ส่วนใหญ่ คุณจะต้องติดตั้ง Go เพื่อเรียกใช้โปรแกรม Go สามารถตรวจสอบอย่างเป็นทางการ ไปดาวน์โหลด หน้าเพื่อติดตั้งบนเครื่องของคุณ คุณจะต้องติดตั้ง Go เวอร์ชันล่าสุดเพื่อใช้ภาษานี้ให้เกิดประโยชน์สูงสุดตั้งแต่ เวอร์ชันที่ใหม่กว่ามีคุณสมบัติเพิ่มเติม และการปรับปรุง





เมื่อคุณติดตั้ง Go แล้ว คุณสามารถทำงานกับภาษา เรียกใช้ไฟล์ Go สร้างพื้นที่ทำงาน และสร้างโครงการใน Go

คุณสามารถสร้างไฟล์ Go และเรียกใช้โปรแกรม Go โดยใช้ไลบรารีมาตรฐาน อย่างไรก็ตาม หากคุณต้องการใช้ไลบรารีภายนอก คุณจะต้องสร้างไฟล์โมดูล Go สำหรับการจัดการการพึ่งพา การติดตามเวอร์ชัน และอื่นๆ



ไฟล์ Go Modules

ใน Go โมดูลคือชุดของแพ็คเกจในโครงสร้างไฟล์ที่มี a go.mod ไฟล์ที่รูท ไฟล์นั้นกำหนดเส้นทางของโมดูล เส้นทางการนำเข้า และข้อกำหนดการพึ่งพาสำหรับกระบวนการสร้างที่ประสบความสำเร็จ

  ภาพรวมของโมดูล go go.mod ไฟล์

คุณสามารถสร้างไฟล์โมดูล Go ด้วย Go ขัดต่อ คำสั่งและ ความร้อน คำสั่งย่อยก่อนระบุพาธหรือไดเร็กทอรีสำหรับโปรเจ็กต์





go mod init project-directory 

คำสั่งสร้าง go.mod ไฟล์. อาร์กิวเมนต์หลังจาก ความร้อน คำสั่งคือเส้นทางของโมดูล พาธของโมดูลสามารถเป็นพาธไฟล์บนสภาพแวดล้อมโฮสต์ของคุณ หรือพาธของโดเมนที่เก็บ

เมื่อคุณติดตั้งแพ็คเกจภายนอกและการอ้างอิง go จะอัปเดต จำเป็นต้อง ประกาศใน go.mod ไฟล์เพื่อให้แน่ใจว่าได้รวมไว้





คุณสามารถใช้ เรียบร้อย คำสั่งย่อยของ ขัดต่อ คำสั่งเพื่อดาวน์โหลดการพึ่งพาทั้งหมดที่จำเป็นสำหรับโปรแกรมของคุณ

go mod tidy 

คำสั่งจะดาวน์โหลดการนำเข้าที่ขาดหายไปทั้งหมดไปยังไฟล์ go modules

เนมสเปซแพ็คเกจ Go

ไฟล์ต้นทาง Go ทุกไฟล์เป็นของแพ็คเกจ และคุณสามารถเข้าถึงรหัสภายในเนมสเปซของแพ็คเกจได้โดยใช้ตัวระบุ

คุณสามารถมีเนมสเปซได้หลายรายการสำหรับแพ็คเกจของคุณ เมื่อคุณสร้างโฟลเดอร์ แสดงว่าคุณได้สร้างเนมสเปซใหม่แล้ว คุณสามารถเข้าถึงเนมสเปซอื่นๆ ด้วยเครื่องหมายจุด (.)

// folder 1  
package folder

func Folder() any {
// some function body here
return 0;
}

นี่คือตัวอย่างการเข้าถึงเนมสเปซอื่นจากเนมสเปซอื่น

 
// folder 2, file in different namespace
package directory

func directory() {
// accessing the Folder function from the folder namespace
folderFunc := folder.Folder()
}

คุณจะต้อง ส่งออกตัวระบุ โดยการใช้อักษรตัวพิมพ์ใหญ่เพื่อเข้าถึงตัวระบุในเนมสเปซภายนอก

หน้าที่หลัก

ดิ หลัก ฟังก์ชั่นทำหน้าที่เป็นจุดเริ่มต้นสำหรับโปรแกรม Go คุณไม่สามารถเรียกใช้ไฟล์หรือแพ็คเกจ Go โดยไม่มีฟังก์ชั่นหลัก คุณสามารถมี หลัก ทำงานในเนมสเปซใด ๆ แต่ต้องมีอันเดียว หลัก ฟังก์ชั่นในไฟล์หรือแพ็คเกจ

กติกาง่ายๆ โปรแกรม Hello World เพื่อแสดงให้เห็นถึง หลัก การทำงาน:

package main 
import "fmt"

func main {
fmt.Println("Hello, World!")
}

รหัสนี้ประกาศ หลัก ทำหน้าที่ใน หลัก เนมสเปซแพ็คเกจ จากนั้นนำเข้า fmt แพ็คเกจและใช้ Println วิธีการส่งออกสตริงไปยังคอนโซล

วิธีเซฟรูปจาก pinterest

การนำเข้าแพ็คเกจใน Go

เมื่อเทียบกับภาษาอื่นๆ มากมาย การนำเข้าแพ็คเกจและการพึ่งพานั้นทำได้ง่าย ดิ นำเข้า คีย์เวิร์ดมีฟังก์ชันสำหรับการนำเข้าแพ็กเกจ คุณสามารถนำเข้าแพ็คเกจจากไลบรารีมาตรฐานและการพึ่งพาภายนอกด้วย นำเข้า คำสำคัญ.

import "fmt" 

ในตัวอย่างข้างต้น คุณกำลังนำเข้าหนึ่งแพ็คเกจ คุณสามารถนำเข้าหลายแพ็คเกจ คุณจะต้องระบุแพ็คเกจในวงเล็บหลัง นำเข้า คำแถลง.

import ( 
"fmt" // fmt for printing
"log" // log for logging
"net/http" // http for web applications
"encoding/json" // json for serializing and deserializing structs to JSON
)

การเพิ่มตัวคั่นในคำสั่งนำเข้านั้นไม่ถูกต้อง คุณสามารถประกาศชื่อที่กำหนดเองสำหรับการนำเข้าโดยระบุชื่อที่กำหนดเองก่อนชื่อแพ็คเกจ

import ( 
"net/http"
encoder "encoding/json" // alias import here
)

ที่นี่คุณนำเข้า json แพ็คเกจที่มีชื่อกำหนดเองเป็น ตัวเข้ารหัส . คุณจะต้องเข้าถึงฟังก์ชันและประเภทของแพ็คเกจด้วยชื่อที่กำหนดเอง (ตัวเข้ารหัส)

บางแพ็คเกจต้องการให้คุณนำเข้าแพ็คเกจอื่นเพื่อดูผลข้างเคียง คุณจะต้องต่อท้ายชื่อแพ็คเกจด้วยขีดล่าง

import ( 
_ "fmt" // side effects import
"log"
)

คุณไม่สามารถเข้าถึงแพ็คเกจที่คุณนำเข้าสำหรับผลข้างเคียงได้ แต่การขึ้นต่อกันสามารถทำได้หากคุณกำหนดค่า

ไปวิ่งกับไปสร้าง

คุณจะใช้ วิ่ง และ สร้าง คำสั่งในการรวบรวมและรันโค้ด Go ของคุณ พวกมันมีฟังก์ชันที่คล้ายคลึงกัน และคุณจะใช้มันเพื่อดำเนินการแพ็คเกจ

ดิ วิ่ง คำสั่งคือการรวมกันของคำสั่งการคอมไพล์และการดำเนินการ ดิ วิ่ง คำสั่งรันแพ็คเกจโดยไม่ต้องสร้างไฟล์เรียกทำงานใด ๆ ในไดเร็กทอรีการทำงาน คุณจะต้องระบุชื่อไฟล์ของชื่อแพ็คเกจหลังจาก วิ่ง สั่งการ.

go run file.go // executes a file 
go run packagename // executes the package

ดิ สร้าง คำสั่งคือคำสั่งการคอมไพล์ที่คอมไพล์แพ็คเกจหรือไฟล์ลงในไฟล์ปฏิบัติการไบนารี

หากคุณเรียกใช้ สร้าง คำสั่งที่ไม่มีอาร์กิวเมนต์ใด ๆ หลังจากชื่อไฟล์หรือแพ็คเกจ go จะสร้างไฟล์ปฏิบัติการในไดเร็กทอรีรากของแพ็คเกจของคุณ

go build main.go // compiles a file  
go build "package name" // compiles a package

คุณจะต้องคอมไพล์โปรแกรมใหม่ด้วย สร้าง คำสั่งเมื่อคุณเปลี่ยนแพ็คเกจ

คุณสามารถระบุไดเร็กทอรีเป็นอาร์กิวเมนต์ และ สร้าง คำสั่งจะส่งออกไฟล์ปฏิบัติการในไดเร็กทอรีที่ระบุ

go build file -o "directory" 

มีอะไรมากมายที่คุณทำได้ด้วย Go

ไลบรารีมาตรฐาน Go มีประสิทธิภาพและใช้งานง่าย คุณสามารถสร้างแอปพลิเคชันที่ทันสมัยได้อย่างรวดเร็วโดยไม่ต้องติดตั้งการพึ่งพาภายนอกใดๆ

นับตั้งแต่เปิดตัว Go ในปี 2009 นักพัฒนาและบริษัทต่าง ๆ ได้ใช้มันสำหรับกรณีการใช้งานต่างๆ ในด้านต่างๆ ความสำเร็จนั้นส่วนใหญ่เป็นเพราะ Go มีไวยากรณ์ที่เหมือน Python ควบคู่ไปกับประสิทธิภาพที่เหมือน C