十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这期内容当中小编将会给大家带来有关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语言的区别有进一步的了解吗?如果还想了解更多相关内容,欢迎关注创新互联成都网站设计公司行业资讯频道,感谢各位的阅读。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。