• 技术文章 >后端开发 >Golang

    golang和c语言的区别是什么?

    青灯夜游青灯夜游2019-12-23 13:30:19原创3861
    golang和c语言的区别是什么?下面给大家对比一下golang和c语言。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

    php入门到就业线上直播课:进入学习

    1、源文件对比

    C语言源文件

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

    Go语言源文件

    文件扩展名源类型
    .goGo语言源文件,存放代码实现

    2、代码管理对比

    C语言中通过文件来管理代码

      ● 想使用某一个函数时,只需要include导入对应的.h文件即可

    Go语言中通过包来管理代码

      ● Go语言没有.h文件的概念, 在Go中想使用某一个函数时, 只需要import导入对应的包即可

    C语言中函数、变量公私有管理

      ● 通过extern和static实现是否公开函数和变量

    Go语言中函数、变量公私有管理

      ● 通过函数名称首字母大小写实现是否公开函数

      ● 通过变量名称首字母大小写实现是否公开变量

    3、关键字对比

    C语言中一共有32个关键字

    12345678
    ifelseswitchcasedefaultbreakreturngoto
    dowhileforcontinuetypedefstructenumunion
    charshortintlongfloatdoublevoidsizeof
    signedunsignedconstautoregisterstaticexternvolatile

    Go语言中一共有25个关键字

    12345678
    ifelseswitchcasedefaultbreakreturngoto
    fallthroughforcontinuetypestructvarconstmap
    funcinterfacerangeimportpackagedefergoselect
    chan






    4、数据类型对比

    C语言数据类型

    1.jpg

    Go语言数据类型

    2.jpg

    C语言各数据类型占用内存空间

    类型32位编译器64位编译器
    char11
    int44
    float44
    double88
    short22
    long48
    long long88
    void*48

    Go语言各数据类型占用内存空间

    类型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类型的整型

    5、常量变量对比

    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核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:golang c语言
    上一篇:golang怎么生成不重复随机数 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• golang不可重入函数实现• golang不用指针可以吗• golang如何传不定参数• golang怎么生成不重复随机数
    1/1

    PHP中文网