這期內容當中小編將會給大家?guī)碛嘘Pgo語言和c語言有什么區(qū)別,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
按需開發(fā)網(wǎng)站可以根據(jù)自己的需求進行定制,網(wǎng)站設計制作、網(wǎng)站制作構思過程中功能建設理應排到主要部位公司網(wǎng)站設計制作、網(wǎng)站制作的運用實際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實際意義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、關鍵字對比
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、數(shù)據(jù)類型對比
C語言數(shù)據(jù)類型
Go語言數(shù)據(jù)類型
C語言各數(shù)據(jù)類型占用內存空間
類型 | 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ù)類型占用內存空間
類型 | 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 | 根據(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語言是一門面向過程的編程語言
面向過程: 按部就班, 親力親為,關注的是我應該怎么做?
做飯例子: 面向過程做飯
1.上街買菜
2.摘菜
3.洗菜
4.切菜
5.開火炒菜
6.淘米煮飯
7.吃飯
Go語言是一門面向對象的編程語言
面向對象:化繁為簡, 能不自己干自己就不干,關注的是我應該讓誰來做?
做飯例子: 面向對象做飯
1.找個會做飯女朋友 or 男朋友
2.老婆我餓了 or 老公我餓了
3.躺著...等她/他把飯做好
4.吃飯
不要把面向過程和面向對象想象得那么神奇, 它們只是思考問題的方式不同而已
看完上述內容,你們對go語言和c語言的區(qū)別有進一步的了解嗎?如果還想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,感謝各位的閱讀。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。