ผ่านมา 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
[gist id="ddc0e884ed3b42c1b85992d1610e6d81" file="try_error.go"]ทำการ download หรือ upgrade ได้แล้วนะครับ
Reference Websites