Go语言学习3----Go语言特色

Go语言号称集多数编程语言的优势于一身,具有较高的生产效率、先进的依赖管理和类型系统,以及原生的并发计算支持。

在这里罗列一些Go语言特有的一些特性(有人可能喜欢有人可能反对,仁者见仁吧),可能不全,后面想到再补充

  • 代码风格强制统一。C/C++/JAVA程序应该都会遇到过这样的代码风格问题,一个函数的左大括号是与函数定义放在同一行,还是另启一行?在Go语言中没有这样的烦恼,因为Go语言强制要求左大括号与函数定义放在同一行。不然编译会报错:)
  • Go语言语法趋于脚本化,比较简洁,但Go是编译型语言而非解释型语言。
  • Go语言编程时可以省略行尾的分号,但是GO编译器在编译阶段会自动添加行尾的分号,所以如果不按go语言规范编写代码有可能会有一些莫名的编译错误。根据资料看左大括号放在第二行首的编译错误就是由此导致的。
  • Go语言源码文件必须以UTF-8格式存储。
  • Go语言源码文件中如果存在引入而不使用的包,或者声明而不使用的变量,编译时会报错。
  • Go语言使用垃圾自动回收机制(GC),GC是定时自动启动,人工可做稍微的干预。这个功能有很多公司在使用go语言开发的软件时遇到服务间歇不可用的情况,这主要是由GC的机制导致的。
  • Go语言的变量或者函数,通过首字母是大写还是小写来控制是包私有函数,还是公有函数。
  • Go语言有原生的并发编程模型和机制。组成部分包括:Goroutine(也称为Go程)和Channel(也称为通道)
  • Go语言函数可以做为变量,也可以做为参数传给另外一个函数,也可以作为一个函数的返回值
  • Go语言可以返回多个值。
  • 无继承层次的轻量级面向对象编程范式。Go语言中的接口与实现之间完全是非侵入式的(这个对代码维护来说很郁闷,接口有可能重复定义,以及找函数实现了哪个接口是很难找的)
  • Go语言中只有类型嵌入,而没有类型继承。所以我个人觉得称为Go语言可以面向对象编程是不科学的。
  • Go语言比较适合服务端程序和Web程序开发。
  • Go语言的defer关键字可以延迟其修饰的函数的执行,直到调用defer的函数执行完,或者执行出错返回前再执行。有点类似java的finally语言。

学习一门编程语言,不仅要学习其优点,也要了解其缺点。下面一篇博文还是有很多参考价值,值得一起学习一下《 我为什么放弃Go语言






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值