Tua Lại 2024 Của Golang - Phần 1

0 0 0

Người đăng: Open Dev

Theo Viblo Asia

  • 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.

  1. Build nhanh hơn.
  • Nhanh hơn khoảng 15%, tăng công xuất đáng kể trong quá trình CI/CD
  1. 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 // Lưu trữ các giá trị trong sync.Map m.Store("opendev1", "opendev-value1") m.Store("opendev2", "opendev-value2") m.Store("opendev2", "opendev-value3") // Truy xuất giá trị if value, ok := m.Load("opendev1"); ok { fmt.Println("Found opendev1:", value) } else { fmt.Println("opendev1 not found") } // Xóa giá trị m.Delete("opendev2") if _, ok := m.Load("opendev2"); !ok { fmt.Println("opendev2 has been deleted") } // Duyệt qua các phần tử trong sync.Map fmt.Println("Iterating over map:") m.Range(func(key, value interface{}) bool { fmt.Printf("Key: %v, Value: %v\n", key, value) return true // return false sẽ dừng việc duyệt })
} 
  1. Độ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)
//go:build dev
package main import "fmt" func LoadConfig() { fmt.Println("Loaded Development Configuration")
} config_prod.go (cho môi trường production)
//go:build prod
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
  1. Observability
  • Đã tích hợp các tool monitor vào như Telemetry Prometheus Grafana
  • Giúp các lâp trình viên dễ debug cũng như tối ưu hiệu năng.
  • link: https://go.dev/doc/go1.23#telemetry
  1. Xây dựng Opensource Lớn

Bình luận

Bài viết tương tự

- vừa được xem lúc

gRPC - Nó là gì và có nên sử dụng hay không?

Nhân một ngày rảnh rỗi, mình ngồi đọc lại RPC cũng như gRPC viết lại để nhớ lâu hơn. Vấn đề là gì và tại sao cần nó .

0 0 132

- vừa được xem lúc

Embedded Template in Go

Getting Start. Part of developing a web application usually revolves around working with HTML as user interface.

0 0 57

- vừa được xem lúc

Tạo Resful API đơn giản với Echo framework và MySQL

1. Giới thiệu.

0 0 61

- vừa được xem lúc

Sử dụng goquery trong golang để crawler thông tin các website Việt Nam bị deface trên mirror-h.org

. Trong bài viết này, mình sẽ cùng mọi người khám phá một package thu thập dữ liệu có tên là goquery của golang. Mục tiêu chính của chương trình crawler này sẽ là lấy thông tin các website Việt Nam bị deface (là tấn công, phá hoại website, làm thay đổi giao diện hiển thị của một trang web, khi người

0 0 237

- vừa được xem lúc

Tạo ứng dụng craw dữ liệu bing với Golang, Mysql driver

Chào mọi người . Lâu lâu ta lại gặp nhau 1 lần, để tiếp tục series chia sẻ kiến thức về tech, hôm nay mình sẽ tìm hiểu và chia sẻ về 1 ngôn ngữ đang khá hot trong cộng đồng IT đó là Golang.

0 0 76

- vừa được xem lúc

Golang: Rest api and routing using MUX

Routing with MUX. Let's create a simple CRUD api for a blog site. # All . GET articles/ .

0 0 55