Golang – Chuỗi nối

Tram Ho

  • Bài viết này để giúp việc viết function nối string array string -> string một cách tối ưu nhất.
  • Thông thường khi viết một function để chuyển đổi từ array string sang một string thì đa số anh/em dev golang sẽ viết.

  • Cách viết không tối ưu, trong golang khi nối chuỗi sẽ không dùng lại biến s mà luôn tạo ra một vùng nhớ mới trên memory.
  • Để tối ưu, có 2 cách viết mẫu:

Cách 1

  • (1): tạo một strings.Builder
  • (2): nối chuỗi
  • (3): trả về kết quả

Cách 2

  • (1): vòng lặp mỗi string để đếm tổng số bytes.
  • (2): tạo capacity, Grow có thể bị panics, cẩn thận khi sài.

Benchmark

  • tạo file main_test.go, copy code dưới đây.

  • thực hiện câu lệnh:



Chia sẻ bài viết ngay

Nguồn bài viết : Viblo