溫馨提示×

溫馨提示×

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

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

go語言和c語言有什么區(qū)別

發(fā)布時間:2020-06-16 09:55:08 來源:億速云 閱讀:1131 作者:Leah 欄目:編程語言

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)go語言和c語言有什么區(qū)別,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、源文件對比

C語言源文件

文件擴展名源類型
.h頭文件,存放代碼聲明
.cC語言源文件,存放代碼實現(xiàn)

Go語言源文件

文件擴展名源類型
.goGo語言源文件,存放代碼實現(xiàn)

2、代碼管理對比

C語言中通過文件來管理代碼

  ● 想使用某一個函數(shù)時,只需要include導入對應的.h文件即可

Go語言中通過包來管理代碼

  ● Go語言沒有.h文件的概念, 在Go中想使用某一個函數(shù)時, 只需要import導入對應的包即可

C語言中函數(shù)、變量公私有管理

  ● 通過extern和static實現(xiàn)是否公開函數(shù)和變量

Go語言中函數(shù)、變量公私有管理

  ● 通過函數(shù)名稱首字母大小寫實現(xiàn)是否公開函數(shù)

  ● 通過變量名稱首字母大小寫實現(xiàn)是否公開變量

3、關(guān)鍵字對比

C語言中一共有32個關(guān)鍵字

12345678
ifelseswitchcasedefaultbreakreturngoto
dowhileforcontinuetypedefstructenumunion
charshortintlongfloatdoublevoidsizeof
signedunsignedconstautoregisterstaticexternvolatile

Go語言中一共有25個關(guān)鍵字

12345678
ifelseswitchcasedefaultbreakreturngoto
fallthroughforcontinuetypestructvarconstmap
funcinterfacerangeimportpackagedefergoselect
chan






4、數(shù)據(jù)類型對比

C語言數(shù)據(jù)類型

go語言和c語言有什么區(qū)別

Go語言數(shù)據(jù)類型

go語言和c語言有什么區(qū)別

C語言各數(shù)據(jù)類型占用內(nèi)存空間

類型32位編譯器64位編譯器
char11
int44
float44
double88
short22
long48
long long88
void*48

Go語言各數(shù)據(jù)類型占用內(nèi)存空間

類型32位編譯器64位編譯器本質(zhì)
int8/uint811signed char/unsigned char
int16/uint1622signed short/unsigned short
int32/uint3244signed int/unsigned int
int64/uint6488signed long long int/unsigned long long int
byte11uint8/unsigned char
rune44int32/signed int
int48根據(jù)機器位數(shù)決定長度
uintptr48根據(jù)機器位數(shù)決定長度 uint32/uint64
float3244float
float6488double
true11char類型的整型
false11char類型的整型

5、常量變量對比

C語言定義常量和變量格式

數(shù)據(jù)類型 變量名稱 = 值;
const 數(shù)據(jù)類型 常量名稱 = 值;

Go語言定義常量和變量格式

除了以下標準格式外,Go語言還提供了好幾種簡單的語法糖

var 變量名稱 數(shù)據(jù)類型 = 值;
const 變量名稱 數(shù)據(jù)類型 = 值;

6、編程思想對比

C語言是一門面向過程的編程語言

面向過程: 按部就班, 親力親為,關(guān)注的是我應該怎么做?

做飯例子: 面向過程做飯

1.上街買菜

2.摘菜

3.洗菜

4.切菜

5.開火炒菜

6.淘米煮飯

7.吃飯

Go語言是一門面向?qū)ο蟮木幊陶Z言

面向?qū)ο?化繁為簡, 能不自己干自己就不干,關(guān)注的是我應該讓誰來做?

做飯例子: 面向?qū)ο笞鲲?/p>

1.找個會做飯女朋友 or 男朋友

2.老婆我餓了 or 老公我餓了

3.躺著...等她/他把飯做好

4.吃飯

不要把面向過程和面向?qū)ο笙胂蟮媚敲瓷衿? 它們只是思考問題的方式不同而已

看完上述內(nèi)容,你們對go語言和c語言的區(qū)別有進一步的了解嗎?如果還想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。

向AI問一下細節(jié)

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

AI