2012-12-13 29 views
16

Có thể ai đó vui lòng cho tôi biết nếu đi hỗ trợ tự động truyền các loại số. Ngay bây giờ tôi phải tự chuyển đổi kết quả của tất cả các tính toán của tôi thành int hoặc int64 và theo dõi loại số tôi đang sử dụng.Đúc giữa các loại số trong golang

+1

Bạn có thể muốn xem [câu hỏi này và câu trả lời của nó] (http://stackoverflow.com/questions/13367979/idiomatic-type-conversion-in-go/13368417). – nemo

Trả lời

13

Đi sẽ không tự động chuyển đổi loại số cho bạn.

Từ đặc tả ngôn ngữ:

Chuyển đổi được yêu cầu khi loại số khác nhau được trộn lẫn trong một biểu thức hoặc chuyển nhượng. Ví dụ: int32 và int không phải là cùng một loại mặc dù chúng có thể có cùng kích thước với kiến ​​trúc cụ thể.

4

Đi không hỗ trợ chuyển đổi loại ẩn trong loại số.

Tham khảo spec. Tôi nghĩ rằng đây là vì lý do an toàn và khả năng dự đoán. Một điều nữa tôi thấy là hơi kỳ lạ/thú vị là bạn thậm chí không thể chuyển đổi từ int sang int32 một cách ngầm định, điều kỳ lạ là cả hai đều có cùng kích thước.

type conversion error

+4

'int' chắc chắn không được chỉ định là' int32'. Nó thay đổi theo triển khai và nền tảng. – Dustin

+0

Vậy làm thế nào để bạn làm điều đó một cách rõ ràng? –

+19

Khi nói y = int32 (x) – gprasant

0

Bạn cần phải chuyển đổi giữa các loại bằng tay, ví dụ