91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang和c語言之間的區別是什么?

發布時間:2020-04-20 15:50:11 來源:億速云 閱讀:1087 作者:小新 欄目:編程語言

golang和c語言之間的區別是什么?相信有很多人都不太了解,今天小編為了讓大家更加了解golang和c語言之間的區別,所以給大家總結了以下內容,一起往下看吧。

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. 函數多返回值

  4. 延后執行

  5. 異常處理

  6. 強大且高性能的網絡編程

  7. 內存管理及回收

  8. 代碼跨平臺及交叉編譯

真是因為上述八點核心差異,讓Go被譽為互聯網時代的C語言。

5、具體差異

至于C與Go的具體差異,在hyperpolyglot上有詳細的對比表格:http://hyperpolyglot.org/c

hyperpolyglot.org中對一些相似的開發語言和工具做詳細對比,沒事的時候可以看看。

以上就是golang和c語言之間的區別是什么的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五家渠市| 邯郸市| 陕西省| 博客| 宜宾市| 文昌市| 绥江县| 汝城县| 丰镇市| 南江县| 铁岭县| 察雅县| 孙吴县| 九寨沟县| 安新县| 九江市| 黔西县| 平谷区| 涡阳县| 始兴县| 牟定县| 新竹市| 兰坪| 开原市| 和龙市| 罗平县| 绥江县| 新乡县| 闵行区| 玛沁县| 曲水县| 海宁市| 盐山县| 城固县| 安仁县| 新乐市| 大悟县| 襄垣县| 卢氏县| 新和县| 仙居县|