สิ่งตีพิมพ์ในหัวข้อ 'golang'


ภาพสะท้อนใน Golang
การสะท้อนกลับ : เป็นความสามารถของโปรแกรมในการทบทวนและวิเคราะห์โครงสร้างระหว่างรันไทม์ หรืออาจกล่าวได้ว่ามันคือชุดของฟังก์ชันที่ใช้ในการดึงข้อมูลเกี่ยวกับตัวแปรระหว่างรันไทม์ เราสามารถรับข้อมูลประเภทและค่าระหว่างรันไทม์ได้ มันใช้การสะท้อนกลับด้วยแพ็คเกจการสะท้อนซึ่งมีประเภทและวิธีการตรวจสอบส่วนของโครงสร้างอินเทอร์เฟซและแม้แต่การแก้ไขค่าที่รันไทม์ ก่อนอื่นเราต้องนำเข้าแพ็คเกจการสะท้อนกลับ import "reflect" ประเภท reflect.Type และ reflect.Value..

การใช้ประโยชน์จากการซิงค์เมื่ออยู่ใน Golang เพื่อการใช้ทรัพยากรอย่างมีประสิทธิภาพและความปลอดภัยของเธรด
ใน Golang แพ็คเกจ sync จัดเตรียมการซิงโครไนซ์เบื้องต้น เช่น sync.Once ซึ่งสามารถใช้เพื่อให้แน่ใจว่าโค้ดชิ้นใดชิ้นหนึ่งจะถูกดำเนินการเพียงครั้งเดียว โดยไม่คำนึงว่าจะมีการเรียกกี่ครั้งก็ตาม สิ่งนี้มีประโยชน์อย่างยิ่งในสถานการณ์ที่เราต้องการหลีกเลี่ยงการคำนวณที่ซ้ำซ้อน การกำหนดค่าเริ่มต้นที่มีราคาแพง หรือเพื่อความปลอดภัยของเธรด...

แปลง jpg เป็น pdf: GOLANG
โปรแกรมนี้ใช้ไลบรารี gofpdf เพื่อสร้างเอกสาร PDF ใหม่ เพิ่มหน้าเข้าไป และวาดภาพบนหน้านั้น จากนั้นจะบันทึกเอกสาร PDF ด้วยชื่อเดียวกับไฟล์รูปภาพ แต่มีนามสกุล .pdf package main import ( "fmt" "image" "os" "github.com/jung-kurt/gofpdf" ) func main() { // Open the image file file, _ := os.Open("image.jpg") defer file.Close() // Decode the image img, _, _ := image.Decode(file) // Create a new PDF document pdf :=..

การสร้าง Redis Clone อย่างง่ายใน Golang: ตอนที่ 3
ส่วนที่ 3: การเพิ่มการรองรับ Pub/Sub ที่มา: https://github.com/kzeiter/build-redis-in-go ในส่วนนี้ของซีรีส์โคลน Redis เราจะเพิ่มการรองรับฟังก์ชัน Pub/Sub (เผยแพร่/ติดตาม) Pub/Sub อนุญาตให้ลูกค้าสมัครรับข้อมูลช่องและรับข้อความที่เผยแพร่ไปยังช่องเหล่านั้น โดยทั่วไปฟีเจอร์นี้จะใช้ในแอปพลิเคชันแบบเรียลไทม์ เช่น แอปพลิเคชันแชทและการอัพเดตแบบเรียลไทม์ เราจะใช้คำสั่งใหม่สองคำสั่งสำหรับ Pub/Sub: SUBSCRIBE channel PUBLISH channel message คำสั่ง SUBSCRIBE..

ใส่คำขอ HTTP ของคุณในการควบคุมอาหาร
คำแนะนำวิธีบีบอัดคำขอ HTTP ของไคลเอ็นต์เว็บ หากคุณพบว่าตัวเองอยู่ในสถานการณ์ที่คุณส่งเพย์โหลดคำขอ HTTP ขนาดใหญ่จากเว็บเบราว์เซอร์ไปยัง API ของคุณ คุณอาจทำผิดพลาดทางสถาปัตยกรรมหรือการออกแบบ กล่าวคือ เมื่อเร็วๆ นี้ทีมของเราอยู่ในสถานการณ์ที่การส่งคำขอขนาด 200–300KB เป็นประจำทำให้เราได้รับการแลกเปลี่ยนน้อยที่สุด ด้วยเหตุนี้ เราจึงพบว่าเวลาในการโอนคำขอยาวนาน ต่างจากวิธีที่เบราว์เซอร์ขยายขนาดเนื้อหาการตอบสนอง HTTP โดยอัตโนมัติผ่านกลไก การเจรจาต่อรองเนื้อหา HTTP (โดยใช้ส่วนหัว..

ทิ้ง REST ด้วย gRPC-web และ Envoy
นับตั้งแต่เปิดตัว gRPC มันก็ได้รับความนิยมอย่างมากในหมู่นักพัฒนา API เหตุผลที่ gRPC ได้รับความนิยมอย่างมากคือการสนับสนุนการใช้งานหลายภาษา (เซิร์ฟเวอร์และไคลเอนต์สามารถเขียนเป็นภาษาแยกกันได้) การมุ่งเน้นไปที่ประสิทธิภาพตั้งแต่เริ่มต้น (gRPC ขึ้นอยู่กับ HTTP/2) และชุดเครื่องมือที่ยอดเยี่ยม (การใช้ gRPC protobuf สำหรับคำอธิบายข้อความและบริการและไคลเอนต์สามารถสร้างได้โดยอัตโนมัติโดยไม่ต้องเขียนโค้ดแม้แต่บรรทัดเดียว) ย้อนกลับไปเมื่อหลายปีก่อน..

พิมพ์นามแฝงเทียบกับคำจำกัดความประเภทใน Go
มาเริ่มเขียนโค้ดกันเถอะ !! ดูโค้ดด้านล่างแล้วคิดว่ามันพิมพ์อะไร [%T ใช้เพื่อพิมพ์ข้อมูลประเภท] package main import "fmt" type int1 = int // OPTION-1 type int2 int // OPTION-2 func main() { var i1 int1 var i2 int2 fmt.Printf("%T, %T", i1, i2) } เอาต์พุต int, main.int2 แหล่งที่มา สิ่งที่น่าสนใจคือ i1 พิมพ์ int และ i2 พิมพ์ main.int2 เหตุใดเราจึงเห็นผลลัพธ์นี้ ? i1 เป็นนามแฝง Alias ​​เป็นชื่อที่สองของประเภทที่มีอยู่..