bối cảnh quan trọng cho sự trả lời:
:=
là một nhà điều hành viết tắt cho khởi tạo một biến. Trong Go, các hoạt động sau đây là tương đương:
var myNumb String = "one"
myNumb := "one"
Trả lời:
Câu hỏi ngụ ý bây giờ là: "Tại sao anh đi thiết kế các ký hiệu viết tắt :=
để có một :
trước =
" . Lý do là để ngăn chặn lỗi chính tả phổ biến. Nếu toán tử gán tốc ký chỉ là =
, sau đó bạn có thể có những tình huống sau đây:
var myNumb String = "one"
myNumb = "two"
Bây giờ đã làm người dùng tạo mã mà có ý định chuyển nhượng lại sách two
-myNumb
, hoặc ông đã nhập nhầm myNumb
thay vì đúng cách gõ myNumbTwo
? Bằng cách bao gồm dấu hai chấm trong :=
, trình lập trình sẽ phải thực hiện hai lỗi (quên dấu hai chấm và quên số var
) để có lỗi, do đó làm giảm khả năng làm như vậy mạnh mẽ.
'name: =" John "' là viết tắt của 'var name =" John "'. – peterSO
@peterSO nhưng 'var name =" John "' viết tắt của 'var name string =" John "' viết tắt của hai dòng được cho. –
@Dave C: [Đặc tả ngôn ngữ lập trình đi] (http://golang.org/ref/spec#Short_variable_declarations) là rõ ràng: "Một khai báo biến ngắn ... là viết tắt của một khai báo biến thông thường với các biểu thức khởi tạo nhưng không có loại: '" var "IdentifierList = ExpressionList .'". – peterSO