ผ่านมา 6 เดือนทางทีมพัฒนาก็ได้ปล่อย Go 1.13 ออกมาให้ใช้งาน
ซึ่งมีหลายเรื่องที่น่าสนใจ
แต่หนึ่งในนั้นคือ เรื่อง commpatability กับ Go 1 เสมอ (แต่ถ้า Go 2 ก็ไม่แน่นะ)
มาดูว่ามีอะไรบ้าง ?

  • การปรับปรุงเรื่อง number literal
  • เรื่องของ Error wrapping สำหรับจัดการ error
  • ในการ download module ต่าง ๆ จะผ่าน Go module mirror และ Go checksum database แล้ว
  • เปิดใช้งาน TLS 1.3 by default แต่ก็สามารถปิดได้ด้วยการกำหนด tls13=0 

การปรับปรุงเรื่อง number literal

ซึ่งเริ่มต้นจาก Proposal: Go 2 number literal changes ประกอบไปด้วย

  • เลขฐาน 2 (binary) จะขึ้นต้นด้วย 0b หรือ 0B 
  • เลขฐาน 8 (octal) จะขึ้นต้นด้วย 0o หรือ 0O
  • เลขฐาน 16 เป็น floating-point ได้ด้วย ขึ้นต้นด้วย 0x หรือ 0X
  • Digit separator ด้วย _ ทำให้อ่านง่านขึ้น เช่น 1,000 สามารถเขียนใหม่ได้ 1_000

ดูตัวอย่างเพิ่มเติมได้

เพิ่ม Environment variable เข้ามา คือ

  • GOPRIVATE สำหรับกำหนด path ของ module ที่ใช้ภายในทีม ไม่ต้องไป download จากข้างนอก
  • GONOPROXY กำหนดว่าต้องผ่าน proxy หรือไม่ สำหรับการ download module

ตัวอย่างการใช้งาน

GOPRIVATE=*.corp.example.com
GOPROXY=proxy.example.com
GONOPROXY=none

สามารถกำหนดค่าของ Environment variable ผ่านคำสั่ง
$go env -w GOPROXY=direct
$go env -w GOSUMDB=off

ตัวอย่าง code การใช้งาน Error wrapping/unwrap

ทำการ download หรือ upgrade ได้แล้วนะครับ

Reference Websites

Tags:,