您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關go語言和c語言有什么區別,以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1、源文件對比
C語言源文件
文件擴展名 | 源類型 |
---|---|
.h | 頭文件,存放代碼聲明 |
.c | C語言源文件,存放代碼實現 |
Go語言源文件
文件擴展名 | 源類型 |
---|---|
.go | Go語言源文件,存放代碼實現 |
2、代碼管理對比
C語言中通過文件來管理代碼
● 想使用某一個函數時,只需要include導入對應的.h文件即可
Go語言中通過包來管理代碼
● Go語言沒有.h文件的概念, 在Go中想使用某一個函數時, 只需要import導入對應的包即可
C語言中函數、變量公私有管理
● 通過extern和static實現是否公開函數和變量
Go語言中函數、變量公私有管理
● 通過函數名稱首字母大小寫實現是否公開函數
● 通過變量名稱首字母大小寫實現是否公開變量
3、關鍵字對比
C語言中一共有32個關鍵字
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個關鍵字
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、數據類型對比
C語言數據類型
Go語言數據類型
C語言各數據類型占用內存空間
類型 | 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語言各數據類型占用內存空間
類型 | 32位編譯器 | 64位編譯器 | 本質 |
---|---|---|---|
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 | 根據機器位數決定長度 |
uintptr | 4 | 8 | 根據機器位數決定長度 uint32/uint64 |
float32 | 4 | 4 | float |
float64 | 8 | 8 | double |
true | 1 | 1 | char類型的整型 |
false | 1 | 1 | char類型的整型 |
5、常量變量對比
C語言定義常量和變量格式
數據類型 變量名稱 = 值; const 數據類型 常量名稱 = 值;
Go語言定義常量和變量格式
除了以下標準格式外,Go語言還提供了好幾種簡單的語法糖
var 變量名稱 數據類型 = 值; const 變量名稱 數據類型 = 值;
6、編程思想對比
C語言是一門面向過程的編程語言
面向過程: 按部就班, 親力親為,關注的是我應該怎么做?
做飯例子: 面向過程做飯
1.上街買菜
2.摘菜
3.洗菜
4.切菜
5.開火炒菜
6.淘米煮飯
7.吃飯
Go語言是一門面向對象的編程語言
面向對象:化繁為簡, 能不自己干自己就不干,關注的是我應該讓誰來做?
做飯例子: 面向對象做飯
1.找個會做飯女朋友 or 男朋友
2.老婆我餓了 or 老公我餓了
3.躺著...等她/他把飯做好
4.吃飯
不要把面向過程和面向對象想象得那么神奇, 它們只是思考問題的方式不同而已
看完上述內容,你們對go語言和c語言的區別有進一步的了解嗎?如果還想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。