首頁 >後端開發 >Golang >golang和c語言的差別是什麼?

golang和c語言的差別是什麼?

青灯夜游
青灯夜游原創
2019-12-23 13:30:195734瀏覽

golang和c語言的差別是什麼?下面給大家比較一下golang和c語言。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

golang和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個關鍵字#default#gotofor#enum
12##3 #456 78 if else switch case
break return ##do while
continue typedef struct
union charshortint long #float double void sizeof
signed

unsignedGo語言中一共有25個關鍵字mapinterfacepackageselect
const auto register static extern volatile
12 #3##4##5#6 78 if else switch case default
break return goto #fallthrough for continue
type struct var const
func

range
import

defer
go

chan

golang和c語言的差別是什麼?

golang和c語言的差別是什麼?

C語言資料型別Go語言資料型別類型32位元編譯器64位元編譯器char1#1##intfloat##4double88short#22long4
4.資料型別比較
C語言各資料型別佔用記憶體空間
#4 4
4
###8############long long#####8#####8###### #######void*######4######8#############

Go語言各資料型別佔用記憶體空間

##64位元編譯器本質int8/uint811signed char/unsigned char int16/uint162#2signed short/unsigned shortint32/uint3244signed int/unsigned int##int64/uint64byte##1## 1uint8/unsigned charrune##444#48##8doubletrue11char類型的整數false11char類型的整數5、常數變數比較
型別 32位元編譯器
8 8 signed long long int/unsigned long long int
4 int32/signed int int
8 #根據機器位數決定長度 uintptr
8 根據機器位數決定長度uint32/uint64 float32
4 float float64

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

数据类型 变量名称 = 值;
const 数据类型 常量名称 = 值;
Go語言定義常數和變數格式

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

var 变量名称 数据类型 = 值;
const 变量名称 数据类型 = 值;

6、程式設計想法比較

C語言是一門以過程為導向的程式語言

面向過程: 按部就班, 親力親為,關注的是我應該怎麼做?

做飯範例: 面向過程做飯

#1.上街買菜

2.摘菜

3.洗菜

4.切菜

5.開火炒菜

6.淘米煮飯

7.吃飯

Go語言是一門物件導向的程式語言

物件導向:化繁為簡, 能不自己幹自己就不幹,關注的是我應該讓誰來做?

做飯例子: 面向對像做飯

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

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

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

4.吃飯

#不要把麵向過程和物件導向想像得那麼神奇, 它們只是思考問題的方式不同而已

更多go語言請關注

go語言教程

專欄。

以上是golang和c語言的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn