您好,登錄后才能下訂單哦!
這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)go語言和c語言有什么區(qū)別,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1、源文件對比
C語言源文件
文件擴展名 | 源類型 |
---|---|
.h | 頭文件,存放代碼聲明 |
.c | C語言源文件,存放代碼實現(xiàn) |
Go語言源文件
文件擴展名 | 源類型 |
---|---|
.go | Go語言源文件,存放代碼實現(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)鍵字
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
if | else | switch | case | default | break | return | goto |
do | while | for | continue | typedef | struct | enum | union |
char | short | int | long | float | double | void | sizeof |
signed | unsigned | const | auto | register | static | extern | volatile |
Go語言中一共有25個關(guān)鍵字
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
if | else | switch | case | default | break | return | goto |
fallthrough | for | continue | type | struct | var | const | map |
func | interface | range | import | package | defer | go | select |
chan |
4、數(shù)據(jù)類型對比
C語言數(shù)據(jù)類型
Go語言數(shù)據(jù)類型
C語言各數(shù)據(jù)類型占用內(nèi)存空間
類型 | 32位編譯器 | 64位編譯器 |
---|---|---|
char | 1 | 1 |
int | 4 | 4 |
float | 4 | 4 |
double | 8 | 8 |
short | 2 | 2 |
long | 4 | 8 |
long long | 8 | 8 |
void* | 4 | 8 |
Go語言各數(shù)據(jù)類型占用內(nèi)存空間
類型 | 32位編譯器 | 64位編譯器 | 本質(zhì) |
---|---|---|---|
int8/uint8 | 1 | 1 | signed char/unsigned char |
int16/uint16 | 2 | 2 | signed short/unsigned short |
int32/uint32 | 4 | 4 | signed int/unsigned int |
int64/uint64 | 8 | 8 | signed long long int/unsigned long long int |
byte | 1 | 1 | uint8/unsigned char |
rune | 4 | 4 | int32/signed int |
int | 4 | 8 | 根據(jù)機器位數(shù)決定長度 |
uintptr | 4 | 8 | 根據(jù)機器位數(shù)決定長度 uint32/uint64 |
float32 | 4 | 4 | float |
float64 | 8 | 8 | double |
true | 1 | 1 | char類型的整型 |
false | 1 | 1 | char類型的整型 |
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è)資訊頻道,感謝各位的閱讀。
免責聲明:本站發(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)容。