Go:
เริ่มต้นโครงการใหม่
วิธีการ:
ก่อนอื่น, ให้แน่ใจว่าคุณได้ติดตั้ง Go โดยการรัน go version
ในเทอร์มินัลของคุณ คุณควรจะเห็นเวอร์ชันของ Go ที่คุณได้ติดตั้งเป็นผลลัพธ์ ต่อไป, เรามาเริ่มโปรเจคใหม่กัน เปลี่ยนไปยังพื้นที่ทำงานของคุณและรัน:
mkdir hello-world
cd hello-world
สิ่งนี้สร้างและพาคุณเข้าไปในไดเรกทอรีใหม่สำหรับโปรเจคของคุณ ตอนนี้, เริ่มต้นโมดูล:
go mod init example.com/hello-world
เปลี่ยน example.com/hello-world
เป็นเส้นทางโมดูลของคุณ คำสั่งนี้สร้างไฟล์ go.mod
ในไดเรกทอรีของคุณ, ส่งสัญญาณการเริ่มต้นของโมดูล Go ใหม่ นี่คือตัวอย่างของหน้าตา go.mod
:
module example.com/hello-world
go 1.18
go.mod
ติดตามการพึ่งพากันของโปรเจคของคุณ ตอนนี้, สร้างไฟล์ main.go
:
touch main.go
เปิด main.go
ในเอดิเตอร์ที่คุณชื่นชอบและเพิ่มโค้ดต่อไปนี้เพื่อพิมพ์ “Hello, World!”:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
เพื่อรันโปรแกรมของคุณ, กลับไปที่เทอร์มินัลและปฏิบัติการ:
go run main.go
คุณควรจะเห็น:
Hello, World!
ขอแสดงความยินดี! คุณเพิ่งเริ่มต้นโปรเจค Go ใหม่และรันโปรแกรม Go ครั้งแรกของคุณ
ศึกษาเพิ่มเติม
ความพยายามในการนำเสนอโมดูลเป็นมาตรฐานสำหรับการจัดการการพึ่งพากันใน Go เป็นการเปลี่ยนแปลงที่สำคัญในระบบนิเวศ Go ที่ได้รับการยอมรับอย่างเป็นทางการใน Go 1.11 ก่อนมีโมดูล, ผู้พัฒนา Go พึ่งพาตัวแปรสภาพแวดล้อม GOPATH เพื่อจัดการการพึ่งพากัน, ซึ่งไม่จัดการได้ง่ายและบางครั้งก็นำไปสู่ “dependency hell” ที่มีชื่อเสียง
โมดูลให้วิธีการที่แยกออกเพื่อจัดการการพึ่งพากันของโปรเจค, การตั้งเวอร์ชัน, และเป็นการย้ายไปสู่การทำให้โปรเจค Go มีความเป็นอิสระและพกพาได้มากขึ้น แต่ละโมดูลระบุการพึ่งพากันซึ่ง Go ติดตามในไฟล์ go.mod
, ทำให้การจัดการการพึ่งพาง่ายขึ้นในสภาพแวดล้อมและขั้นตอนการพัฒนาที่แตกต่างกัน
อย่างไรก็ตาม, ควรทราบว่าแม้ Go โมดูลจะเป็นมาตรฐานในปัจจุบัน, บางโครงการเก่าอาจยังใช้ GOPATH สำหรับโปรเจคใหม่ ๆ ส่วนใหญ่, โมดูลเสนอระบบการจัดการที่ง่ายดายและมีประสิทธิภาพมากขึ้น, แต่เข้าใจ GOPATH อาจเป็นประโยชน์สำหรับการบำรุงรักษาหรือมีส่วนร่วมในฐานโค้ด Go เก่า
ในแง่ของทางเลือก, แม้ Go โมดูลเป็นมาตรฐาน de facto แล้ว, ชุมชน Go ได้ทดลองกับเครื่องมือจัดการการพึ่งพาอื่น ๆ เช่น dep
ในอดีต อย่างไรก็ตาม, เหล่านี้ส่วนใหญ่ได้ถูกแทนที่ด้วยการสนับสนุนโมดูลอย่างเป็นทางการที่รวมอยู่ในเครื่องมือชุด Go