亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么在 Go 的包級別不允許短變量聲明?

為什么在 Go 的包級別不允許短變量聲明?

Go
慕妹3146593 2021-06-22 05:20:21
這是允許的:package mainvar a = 3...但這不是:package maina := 3...為什么不?為什么不能將函數外的短變量聲明視為沒有類型的常規聲明?只是為了簡化解析?
查看完整描述

3 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

根據伊恩·蘭斯·泰勒 (Ian Lance Taylor) 在公開聲明后不久在此線程中的說法:

在頂層,每個聲明都以關鍵字開頭。這簡化了解析。


查看完整回答
反對 回復 2021-06-28
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

引用Go 編程語言規范

短變量聲明只能出現在函數內部。在某些上下文中,例如“if”、“for”或“switch”語句的初始值設定項,它們可用于聲明局部臨時變量。

您可以考慮varconsttype, andfunc之類的語句,在包級別中,您必須指定要聲明的語句類型。

嗯,這不是一個真正的速記, a, b := 12不能編譯,var a,b = 12做。


查看完整回答
反對 回復 2021-06-28
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

在函數外部,每個語句都必須以關鍵字(var、func 等)開頭,因此該:=構造不可用。

這里。希望能幫助到你。


查看完整回答
反對 回復 2021-06-28
  • 3 回答
  • 0 關注
  • 276 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號