- Một năm 2024 sắp kết thúc, là lúc nhìn lại trong 1 năm qua Golang đã có những điểm nào mới.
Go 1.23:
- Go 1.23 cập nhật một vài điểm mang điến trải nghiệp tốt hơn cho lâp trình viên và hiệu năng tối hợp cho ứng dụng.
Các Điểm Chính.
- Build nhanh hơn.
- Nhanh hơn khoảng 15%, tăng công xuất đáng kể trong quá trình CI/CD
- Sync Package
sync.Map
được cải tiến với khả năng xử lý tốt hơn, giúp dễ dàng đáp ứng trong việc xử lý các ứng dụng cần độ trễ thấp.
- code:
package main import ( "fmt" "sync"
) func main() { var m sync.Map m.Store("opendev1", "opendev-value1") m.Store("opendev2", "opendev-value2") m.Store("opendev2", "opendev-value3") if value, ok := m.Load("opendev1"); ok { fmt.Println("Found opendev1:", value) } else { fmt.Println("opendev1 not found") } m.Delete("opendev2") if _, ok := m.Load("opendev2"); !ok { fmt.Println("opendev2 has been deleted") } fmt.Println("Iterating over map:") m.Range(func(key, value interface{}) bool { fmt.Printf("Key: %v, Value: %v\n", key, value) return true })
}
- Độc Lập Môi Trường.
- Cho phép lâp trình viên có thể độc lâp từng môi trường, dễ dàng thay đổi qua để chuyển môi trường production.
- Code:
config_dev.go (cho môi trường development)
package main import "fmt" func LoadConfig() { fmt.Println("Loaded Development Configuration")
} config_prod.go (cho môi trường production)
package main import "fmt" func LoadConfig() { fmt.Println("Loaded Production Configuration")
}
package main func main() { LoadConfig()
}
- run: Loaded Development Configuration
go build -tags dev -o app_dev
./app_dev
- Observability
- Xây dựng Opensource Lớn