首頁 >後端開發 >Golang >golang和c的差別是什麼?

golang和c的差別是什麼?

青灯夜游
青灯夜游原創
2020-04-17 16:39:094589瀏覽

golang和c的差別是什麼?

golang和c語言的區別

#1、表面差異-行尾分號

從C、C 、C#、Java過來的程式設計師,會很奇怪看到的Go程式碼沒有行尾分號(“;”)作為一行的結束符號。在說明這個問題之前我們先宣告一個重要事實:正式的Go語法是使用英文分號(“;”)做為結尾標識符的。

我們之所以不用在行尾加分號,是Go在設計中基於以下兩點考慮:

  • 可用幾個簡單規則確定語句行尾,因此行尾分號是可省略的;

  • 省略行尾分號可以更好的規範程式碼。

Golang在編譯時,當程式碼行(非註解行)的最後一個詞段為下列五種情況之一時,則自動在行尾插入分號:

  1. 行尾為三種右括號之一:)、]、};

  2. # 行尾為自增或自減運算子( 、– );

  3. 行尾為類型的特定值:布林值、整數、浮點數、複數、Unicode碼點或字串字面量;

  4. 行尾為一個識別符:包含型別名稱、變數名稱、常數名、跳到標籤、套件名稱和套件的引入名(不包括關鍵字);

  5. 行尾為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、核心差異

總結了以下八點:

  1. #並發程式設計
  2. 面向介面程式設計
  3. 函數多傳回值

延後執行

異常處理

強大且高效能的網路程式設計

記憶體管理及回收

#########程式碼跨平台與交叉編譯############真是因為上述八點核心差異,讓Go被譽為網路時代的C語言。 #########5、具體差異#########至於C與Go的具體差異,在hyperpolyglot上有詳細的比較表:http://hyperpolyglot.org/c### ######hyperpolyglot.org###中對一些相似的開發語言和工具做詳細對比,沒事的時候可以看看。 ######推薦學習:###Golang教學######

以上是golang和c的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn