golang和c語言的區別
#1、表面差異-行尾分號
從C、C 、C#、Java過來的程式設計師,會很奇怪看到的Go程式碼沒有行尾分號(“;”)作為一行的結束符號。在說明這個問題之前我們先宣告一個重要事實:正式的Go語法是使用英文分號(“;”)做為結尾標識符的。
我們之所以不用在行尾加分號,是Go在設計中基於以下兩點考慮:
可用幾個簡單規則確定語句行尾,因此行尾分號是可省略的;
省略行尾分號可以更好的規範程式碼。
Golang在編譯時,當程式碼行(非註解行)的最後一個詞段為下列五種情況之一時,則自動在行尾插入分號:
行尾為三種右括號之一:)、]、};
# 行尾為自增或自減運算子( 、– );
行尾為類型的特定值:布林值、整數、浮點數、複數、Unicode碼點或字串字面量;
行尾為一個識別符:包含型別名稱、變數名稱、常數名、跳到標籤、套件名稱和套件的引入名(不包括關鍵字);
行尾為4個跳轉關鍵字:包括break、continue、fallthrough和return(不含其他關鍵字)。
2、常數變數比較
C語言定義常數和變數格式
数据类型 变量名称 = 值; const 数据类型 常量名称 = 值;
Go語言定義常數和變數格式
除了以下標準格式外,Go語言還提供了好幾種簡單的語法糖
var 变量名称 数据类型 = 值; const 变量名称 数据类型 = 值;
3、程式碼管理對比
C語言中透過檔案來管理程式碼
● 想使用某一個函數時,只需要include導入對應的.h檔即可
Go語言中透過套件來管理程式碼
● Go語言沒有.h檔的概念, 在Go中想使用某一個函數時, 只需要import導入對應的包即可
C語言中函數、變量公私有管理
# ● 透過extern和static實作是否公開函數與變數
Go語言中函數、變數公私有管理
● 透過函數名稱首字母大小寫實作是否公開函數
● 透過變數名稱首字母大小寫實現是否公開變數
4、核心差異
總結了以下八點:
延後執行
異常處理
#########程式碼跨平台與交叉編譯############真是因為上述八點核心差異,讓Go被譽為網路時代的C語言。 #########5、具體差異#########至於C與Go的具體差異,在hyperpolyglot上有詳細的比較表:http://hyperpolyglot.org/c### ######hyperpolyglot.org###中對一些相似的開發語言和工具做詳細對比,沒事的時候可以看看。 ######推薦學習:###Golang教學######以上是golang和c的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!