2014-10-23 20 views
6

Tôi muốn xác định phương thức trên []T, trong đó T là loại tôi đã xác định.
Có vẻ như tôi phải xác định một loại mới để thực hiện việc này, nhưng điều đó ngăn tôi sử dụng tất cả các hàm dựng sẵn cho các lát trên loại mới này (chẳng hạn như len).Loại bộ thu không hợp lệ [] T ([] T là loại không được đặt tên) cách giải quyết?

Có phải cách thức thực hiện điều này để chỉ thực hiện các chức năng bình thường, chứ không phải là phương pháp? (Kinda thích cách append() có thể là một phương pháp, nhưng không phải là gì?)

Trả lời

10

Bạn có thể định nghĩa một kiểu lát:

type MySliceType []SomeType 
  • Bạn vẫn có thể sử dụng append và các hoạt động cắt trên các giá trị của MySliceType.
  • Bạn có thể xác định các phương thức trên MySliceType.

Bạn không thể, tuy nhiên, phương pháp của monkeypatch []SomeType.

Các vấn đề liên quan