วิธีสร้างเว็บเซิร์ฟเวอร์พื้นฐานโดยใช้ Go

วิธีสร้างเว็บเซิร์ฟเวอร์พื้นฐานโดยใช้ Go

Go เป็นภาษาโปรแกรมที่น่าสนใจสำหรับการสร้างเว็บแอปพลิเคชันสมัยใหม่รวมถึงซอฟต์แวร์ระบบมันสร้างความฮือฮาอย่างมากหลังจากการเปิดตัวและขับเคลื่อนบริการต่างๆ เช่น Docker, Kubernetes, Terraform, Dropbox และNetflix

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

นำเข้าแพ็คเกจที่จำเป็น

แพ็คเกจ net/HTTP มอบทุกสิ่งที่จำเป็นในการสร้างเว็บเซิร์ฟเวอร์และไคลเอนต์ แพ็คเกจนี้นำเสนอฟังก์ชันที่มีประโยชน์ในการจัดการการเขียนโปรแกรมเว็บ

คุณสามารถนำเข้าได้โดยเพิ่มบรรทัดด้านล่างที่จุดเริ่มต้นของซอร์สโค้ดของคุณ:

import "net/http"

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

import (
"fmt"
"log"
"net/http"
)

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

:wq server.go

เขียนฟังก์ชันหลัก

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

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

ตัวอย่างคือการกำหนดฟังก์ชันหลักโดยใช้คีย์เวิร์ดfunc Go มีกฎที่เข้มงวดเกี่ยวกับตำแหน่งของเครื่องหมายปีกกาเปิด ดังนั้นตรวจสอบให้แน่ใจว่าเครื่องหมายปีกกาเริ่มต้นอยู่ในบรรทัดที่ถูกต้อง คำสั่งแรกใน main กำหนดว่าคำขอเว็บทั้งหมดไปยังรูทพาธ ( "/" ) จะได้รับการจัดการโดยดัชนี ซึ่งเป็นฟังก์ชันประเภทhttp.HandlerFunc

บรรทัดที่ สองเริ่มต้นเว็บเซิร์ฟเวอร์ผ่าน ฟังก์ชัน http.ListenAndServeโดยจะส่งสัญญาณให้เซิร์ฟเวอร์รับฟังคำขอ HTTP ขาเข้าบนพอร์ตของเซิร์ฟเวอร์ 8080 อย่างต่อเนื่อง จำเป็นต้องใช้พารามิเตอร์ตัวที่สองของฟังก์ชันนี้เพื่อบล็อกโปรแกรมจนจบ

เนื่องจากhttp.ListenAndServeส่งคืนข้อผิดพลาดเสมอ ตัวอย่างจึงล้อมการโทรนี้ไว้ภายในlog.Fatal callคำสั่งนี้จะบันทึกข้อความแสดงข้อผิดพลาดใดๆ ที่สร้างขึ้นบนฝั่งเซิร์ฟเวอร์

ใช้ฟังก์ชันการประมวลผล

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

มาเพิ่มคำสั่งที่จำเป็นเพื่อทำให้ฟังก์ชันดัชนีใช้งานได้:

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

ฟังก์ชันนี้รับอาร์กิวเมนต์ที่แตกต่างกันสองประเภทได้แก่http.ResponseWriterและhttp.Requestพารามิเตอร์http.ResponseWriterประกอบด้วยการตอบสนองของเซิร์ฟเวอร์ต่อคำขอที่เข้ามา ในรูปแบบของวัตถุhttp.Request

ฟังก์ชันFprintfจาก แพ็คเกจ fmtใช้เพื่อแสดงและจัดการสตริงข้อความ บทความนี้ใช้สิ่งนี้เพื่อแสดงการตอบสนองของเซิร์ฟเวอร์ต่อคำขอทางเว็บ สุดท้าย องค์ประกอบ r.URL.Path[1:]ใช้เพื่อดึงข้อมูลหลังจากเส้นทางราก

เพิ่มส่วนที่เหลือทั้งหมด

เว็บเซิร์ฟเวอร์ Go ของคุณจะพร้อมใช้งานเมื่อคุณเพิ่มส่วนประกอบที่เหลือทั้งหมดแล้ว รหัสจะมีลักษณะดังนี้:

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

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

วิธีสร้างเว็บเซิร์ฟเวอร์พื้นฐานโดยใช้ Go

คอมไพล์โค้ดเว็บเซิร์ฟเวอร์ Go นี้เป็นไฟล์ปฏิบัติการ


วิธีย่อขนาดหน้าจอใน Windows 10

วิธีย่อขนาดหน้าจอใน Windows 10

บทความนี้จะแสดงวิธีย่อขนาดหน้าจอใน Windows 10 เพื่อให้คุณใช้งานได้อย่างมีประสิทธิภาพ

วิธีปิด (หรือเปิด) Xbox Game Bar บน Windows 10

วิธีปิด (หรือเปิด) Xbox Game Bar บน Windows 10

Xbox Game Bar เป็นเครื่องมือสนับสนุนที่ยอดเยี่ยมที่ Microsoft ติดตั้งบน Windows 10 ซึ่งผู้ใช้สามารถเรียนรู้วิธีเปิดหรือปิดได้อย่างง่ายดาย

5 วิธีในการจดบันทึกบน Windows 11 โดยไม่ต้องดาวน์โหลดซอฟต์แวร์

5 วิธีในการจดบันทึกบน Windows 11 โดยไม่ต้องดาวน์โหลดซอฟต์แวร์

หากความจำของคุณไม่ค่อยดี คุณสามารถใช้เครื่องมือเหล่านี้เพื่อเตือนตัวเองถึงสิ่งสำคัญขณะทำงานได้

วิธีนำแอพพลิเคชั่นไปไว้บนหน้าจอคอมพิวเตอร์ Windows 11

วิธีนำแอพพลิเคชั่นไปไว้บนหน้าจอคอมพิวเตอร์ Windows 11

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

วิธีถอนการติดตั้งไดรเวอร์บน Windows อย่างสมบูรณ์

วิธีถอนการติดตั้งไดรเวอร์บน Windows อย่างสมบูรณ์

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

วิธีเปิดใช้งานแป้นพิมพ์เสมือน/แป้นพิมพ์สัมผัสบน Windows 11

วิธีเปิดใช้งานแป้นพิมพ์เสมือน/แป้นพิมพ์สัมผัสบน Windows 11

เรียนรู้วิธีเปิดใช้งานแป้นพิมพ์เสมือนบน Windows 11 เพื่อเพิ่มความสะดวกในการใช้งาน ผสานเทคโนโลยีใหม่เพื่อประสบการณ์ที่ดียิ่งขึ้น

วิธีใช้ AdLock เพื่อบล็อกโฆษณาบนคอมพิวเตอร์ของคุณ

วิธีใช้ AdLock เพื่อบล็อกโฆษณาบนคอมพิวเตอร์ของคุณ

เรียนรู้การติดตั้งและใช้ AdLock เพื่อบล็อกโฆษณาบนคอมพิวเตอร์ของคุณอย่างมีประสิทธิภาพและง่ายดาย

หนอนคืออะไร? เหตุใดจึงเป็นอันตรายต่อคอมพิวเตอร์?

หนอนคืออะไร? เหตุใดจึงเป็นอันตรายต่อคอมพิวเตอร์?

เวิร์มคอมพิวเตอร์คือโปรแกรมมัลแวร์ประเภทหนึ่งที่มีหน้าที่หลักคือการแพร่ไวรัสไปยังคอมพิวเตอร์เครื่องอื่นในขณะที่ยังคงทำงานอยู่บนระบบที่ติดไวรัส

วิธีดาวน์โหลด อัปเดต และแก้ไขปัญหาไดรเวอร์ USB บน Windows 10

วิธีดาวน์โหลด อัปเดต และแก้ไขปัญหาไดรเวอร์ USB บน Windows 10

เรียนรู้วิธีดาวน์โหลดและอัปเดตไดรเวอร์ USB บนอุปกรณ์ Windows 10 เพื่อให้ทำงานได้อย่างราบรื่นและมีประสิทธิภาพ

5 วิธีในการปรับแต่ง Xbox Game Bar บน Windows PC

5 วิธีในการปรับแต่ง Xbox Game Bar บน Windows PC

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Xbox Game Bar และวิธีปรับแต่งให้เหมาะกับประสบการณ์การเล่นเกมที่สมบูรณ์แบบของคุณ บทความนี้มีข้อมูลทั้งหมด