我眼中的go的文法特點

來源:互聯網
上載者:User

標籤:java   使用   io   for   c   cti   

因為基本從c#/javascript/c/c++/python/lua/action script,一路走來,對所有的C系列的文法既熟悉又有好感;

那在看語言的時候肯定會與C系列的東西進行類比,那就總結一下go語言與C比的特別之處

  • 聲明變數常量及函數類型時放在名稱的後面,這點有點類似as3,只不過把as3聲明變數時的那冒號去掉而已
  • 只能定義結構體及函數,沒有類這種東西,就是說,函數和成員變數不能放一塊,這一點和C一樣
  • if及for等子句的條件,不需要使用括弧包起來,這點和python2一樣
  • 迴圈子句只用for,但是這個for比較特殊,可以使用裡面有兩個分號,或者直接什麼條件都不帶變成while(true)的
  • 跟python一樣,函數可以使用多傳回值,聲明變數及賦值可以一行多個
  • 跟python一樣,很多系統函數實現基本一致的功能,len獲得數組、字元符的長度,range可以獲得迴圈的迭代器,make可以產生map執行個體。如m := make(map[string]int)
  • 跟python一樣,有個delete,只不過是這麼用的delete(m, "Answer")
  • 跟python一樣,內建了字串、數組、map
  • 更特別的是這個內建的map居然是個std::multimap,調一次相同key,再調一次就會變成下面那個
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.