Golang与C语言

内存管理

Golang在C语言的基础上添加了内存管理机制,这使得C语言开发中让人头大的各种内存问题得以解决。Golang初始的几个版本内存管理机制被人诟病,垃圾回收会导致程序停顿,但是现在Golang的内存管理已经相当完善。然而,Golang提供内存管理机制的同时。依然保留了C语言的指针变量类型。因为Golang对普通变量采用复制的方式进行使用,而指针是将原始对象的地址进行传递,例如函数传参,普通变量会进行形参向实参的拷贝,函数内部对实参的修改不会影响到函数外的变量,而指针变量只是传递地址,函数内部对实参的修改会直接改变函数外的变量。保留C语言这一概念,为我们的编程带来了极大地灵活性,C语言编程中有一条简单的规则,如果是基本类型(int,float等)建议使用变量,除非需要对变量进行修改;如果使用复合类型(结构体等),如果不是需要深拷贝的场合,建议使用指针,因为这些类型的变量一般占用内存空间比较大,如果使用变量,会多次复制,影响程序性能。Golang保留了这一概念,就让我们可以按照自己的需要选择合适的方式——使用变量还是指针,代码设计的灵活性更大,改善代码性能的方式也更简单。

语句的简洁性

Golang的语句比C语言更加简洁

编码风格编译阶段检查

代码的风格和质量在语法层面上就已经进行了统一方便大家解决这类错误,提供了gofmt工具,运行gofmt直接就会对代码格式进行修正。

不使用动态链接库

Golang不支持动态链接库,Golang编译只会生成一个对应的可执行文件,引用第三方包,使用go get直接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值