教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 Go语言学习3----Go语言特色

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

发布时间:2021-05-22   编辑:jiaochengji.com
教程集为您提供Go语言学习3----Go语言特色等资源,欢迎您收藏本站,我们将为您提供最新的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语言》






到此这篇关于“Go语言学习3----Go语言特色”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
Go语言学习3----Go语言特色
Go语言发展历史、核心、特性及学习路线
想系统学习GO语言(Golang
Go 语言一本通
Go语言爱好者周刊:第 78 期 — 这道关于 goroutine 的题
[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及
2018年最全Go语言教程零基础入门到进阶实战视频
Go 语言十年而立,Go2 蓄势待发
Golang学习笔记(五):Go语言与C语言的区别
go run main.go 参数_Go语言入门:Hello world

[关闭]
~ ~