文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

c语言与go语言的区别有哪些

2023-06-06 18:52

关注

小编给大家分享一下c语言与go语言的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

区别:1、C语言源文件的扩展名是“.h”和“.c”,Go语言源文件的扩展名是“.go”。2、C语言中通过文件来管理代码,Go语言中通过包来管理代码。3、C语言中一共有32个关键字,Go语言中一共有25个关键字。

源文件对比

文件扩展名源类型
.h头文件,存放代码声明
.cC语言源文件,存放代码实现
文件扩展名源类型
.goGo语言源文件,存放代码实现

代码管理对比


关键字对比

12345678
ifelseswitchcasedefaultbreakreturngoto
dowhileforcontinuetypedefstructenumunion
charshortintlongfloatdoublevoidsizeof
signedunsignedconstautoregisterstaticexternvolatile
12345678
ifelseswitchcasedefaultbreakreturngoto
fallthroughforcontinuetypestructvarconstmap
funcinterfacerangeimportpackagedefergoselect
chan







数据类型对比


类型32位编译器64位编译器
char11
int44
float44
double88
short22
long48
long long88
void*48
类型32位编译器64位编译器本质
int8/uint811signed char/unsigned char
int16/uint1622signed short/unsigned short
int32/uint3244signed int/unsigned int
int64/uint6488signed long long int/unsigned long long int
byte11uint8/unsigned char
rune44int32/signed int
int48根据机器位数决定长度
uintptr48根据机器位数决定长度 uint32/uint64
float3244float
float6488double
true11char类型的整型
false11char类型的整型

// 第8行到35行typedef signed char     int8;typedef unsigned char       uint8;typedef signed short        int16;typedef unsigned short      uint16;typedef signed int      int32;typedef unsigned int        uint32;typedef signed long long int    int64;typedef unsigned long long int  uint64;typedef float           float32;typedef double          float64;#ifdef _64BITtypedef uint64      uintptr;typedef int64       intptr;typedef int64       intgo; // Go's inttypedef uint64      uintgo; // Go's uint#elsetypedef uint32      uintptr;typedef int32       intptr;typedef int32       intgo; // Go's inttypedef uint32      uintgo; // Go's uint#endif#ifdef _64BITREGtypedef uint64      uintreg;#elsetypedef uint32      uintreg;#endif// 第153行到157行enum{    true    = 1,    false   = 0,};

install B 时刻:
Go本质就是用C语言编写的一门高级编程语言
所以江哥前面教你C语言就是为了今天能让你看懂Go的实现代码,做到知其然知其所以然


常量变量对比

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

注释对比


运算符对比

运算符描述实例
+相加A + B
-相减A - B
*相乘A * B
/相除B / A
%求余B % A
++自增A++
--自减A--

运算符描述实例
==检查两个值是否相等,如果相等返回 True 否则返回 False。A == B
!=检查两个值是否不相等,如果不相等返回 True 否则返回 False。A != B
>检查左边值是否大于右边值,如果是返回 True 否则返回 False。A > B
<检查左边值是否小于右边值,如果是返回 True 否则返回 False。A < B
>=检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。A >= B
<=检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。A <= B

运算符描述实例
&&如果两边的操作数都是 True,则条件 True,否则为 False。A && B
||如果两边的操作数有一个 True,则条件 True,否则为 False。A || B
!如果条件为 True,则逻辑 NOT 条件 False,否则为 True。!A

运算符描述实例
&参与运算的两数各对应的二进位相与, 对应位只要都是1结果就为1A & B
|参与运算的两数各对应的二进位相或,对应位只要其中一个是1结果就为1A | B
^参与运算的两数各对应的二进位相异或,对应位只要不同结果就是1A ^ B
<<左移运算符,左移n位就是乘以2的n次方A << 2
>>右移运算符,右移n位就是除以2的n次方B >> 2
&^逻辑清零运算符, B对应位是1,A对应位清零,B对应位是0, A对应位保留原样A &^ B
int main(){        a1 := 6    b1 := 11    res1 := a1 &^ b1    fmt.Println("res1 = ", res1) // 4        a2 := 11    b2 := 13    res2 := a2 &^ b2    fmt.Println("res2 = ", res2) // 2}

运算符描述实例
=将右边赋值给左边C = A + B 将 A + B 表达式结果赋值给 C
+=相加后再赋值C += A 等于 C = C + A
-=相减后再赋值C -= A 等于 C = C - A
*=相乘后再赋值C *= A 等于 C = C * A
/=相除后再赋值C /= A 等于 C = C / A
%=求余后再赋值C %= A 等于 C = C % A
<<=左移赋值C <<= 2 等于 C = C << 2
>>=右移赋值C >>= 2 等于 C = C >> 2
&=位逻辑与赋值C &= 2 等于 C = C & 2
^=位逻辑或赋值C ^= 2 等于 C = C ^ 2
|=位逻辑异或赋值C |= 2 等于 C = C | 2
&^=位逻辑清零赋值C &^= 2 等于 C = C &^ 2

流程控制语句对比


函数和方法对比

返回值类型 函数名称(形参列表) {        函数体相关语句;        return 返回值;}
func  函数名称(形参列表)(返回值列表) {        函数体相关语句;        return 返回值;}
func  (接收者 接受者类型)函数名称(形参列表)(返回值列表) {        函数体相关语句;        return 返回值;}

编程思想对比

看完了这篇文章,相信你对“c语言与go语言的区别有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯