Go – Nhập xuất (I/O)

4.6/5 - (7 votes)

Gói io trong Go chỉ chứa một số ít các hàm, còn lại phần lớn là các interface, trong đó có 2 interface chính là ReaderWriter. Reader chứa các hàm hỗ trợ đọc dữ liệu (nhập), Writer chứa các hàm hỗ trợ ghi dữ liệu (xuất). Hầu hết các hàm trong Go nhận tham số là các biến Reader hoặc Writer này.

Ví dụ gói io có hàm Copy() có chức năng sao chép dữ liệu từ một Reader sang một Writer:

func Copy(dst Writer, src Reader) (written int64, err error)

Để đọc hoặc ghi dữ liệu vào một slice []byte hoặc một string thì chúng ta có thể dùng struct Buffer trong gói bytes:

var buf bytes.Buffer
buf.Write([]byte("test"))

Biến Buffer có thể không cần phải khởi tạo trước, Buffer hỗ trợ cả ReaderWriter. Từ biến Buffer chúng ta có thể chuyển thành một slice []byte bằng cách dùng hàm Bytes(). Nếu chúng ta chỉ có nhu cầu đọc dữ liệu từ string thì có một hàm khác tiện hơn là strings.NewReader().

0 0 votes
Article Rating
Subscribe
Thông báo cho tôi qua email khi
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments