Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。

接下来从几个方面来具体介绍一下Go语言的特性。

语法简单

抛开语法样式不谈,单就类型和规则而言,Go 与 C99、C11 相似之处颇多,这也是Go语言被冠以“NextC”名号的重要原因。

Go语言的语法处于简单和复杂的两极。C语言简单到你每写下一行代码,都能在脑中想象出编译后的模样,指令如何执行,内存如何分配,等等。而 C 的复杂在于,它有太多隐晦而不着边际的规则,着实让人头疼。相比较而言,Go 从零开始,没有历史包袱,在汲取众多经验教训后,可从头规划一个规则严谨、条理简单的世界。

Go语言的语法规则严谨,没有歧义,更没什么黑魔法变异用法。任何人写出的代码都基本一致,这使得Go语言简单易学。放弃部分“灵活”和“自由”,换来更好的维护性,我觉得是值得的。

将“++”、“--”从运算符降级为语句,保留指针,但默认阻止指针运算,带来的好处是显而易见的。还有,将切片和字典作为内置类型,从运行时的层面进行优化,这也算是一种“简单”。

并发模型

时至今日,并发编程已成为程序员的基本技能,在各个技术社区都能看到诸多与之相关的讨论主题。在这种情况下Go语言却一反常态做了件极大胆的事,从根本上将一切都并发化,运行时用 Goroutine 运行所有的一切,包括 main.main 入口函数

go 语言学习 1. go的特性相关推荐

  1. 微软提出CLIPBERT:通过稀疏采样的视频语言学习

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 论文是学术研究的精华和未来发展的明灯.小白决心每天为大家带来经典或 ...

  2. Flutter学习之Dart语法特性

    一.前言 第一天把Flutter环境搭建了,并简单实现第运行第一个Flutter项目,感觉很不错,一些基本操作和原生体验差不多.用Flutter框架写过App项目的开发者都知道,Flutter是一个使 ...

  3. php7做了哪些优化,PHP语言学习之PHP7做了哪些优化

    本文主要向大家介绍了PHP语言学习之PHP7做了哪些优化,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. 一  zval使用栈内存 在Zend引擎和扩展中,经常要创建一个PHP的变量,底 ...

  4. Python语言学习之文件格式后缀那些事:python和常见各种文件格式后缀介绍、使用方法之详细攻略

    Python语言学习之文件格式后缀那些事:python和常见各种文件格式后缀介绍.使用方法之详细攻略 目录 常见各种文件格式后缀介绍 .pyc文件介绍 .py文件介绍 .pxd 文件 .pyd 文件 ...

  5. 【Python】Python语言学习:面向对象编程,类和对象,封装、继承和多态

    这一周Python语言学习,记录如下. 01 面向对象编OOP 1.1 为什么学习和应用OOP? 1 OOP适合更加复杂的需求分析和项目开发. 2 OOP具有更强大的封装能力. 3 OOP相比于面向过 ...

  6. 6.方法(go语言学习笔记)

    6.方法(go语言学习笔记) 目录 定义 匿名字段 方法集 表达式 1. 定义 方法是与对象实例绑定的特殊函数. 方法是面向对象编程的基本概念,用于维护和展示对象的自身状态.对象是内敛的,每个实例对象 ...

  7. 用了30天整理的一些GO语言学习资料,2019请你加油

    因为极其优秀的并发性能,Google的亲儿子Go语言站上了风潮之巅.出现在21世纪的GO语言,虽然不能如愿对C++取而代之,但是其近C的执行性能和近解析型语言的开发效率以及近乎于完美的编译速度,已经风 ...

  8. linux系统C语言学习总结

    引言 尽管 C 语言问世已近 30 年,但它的魅力仍未减退.C 语言继续吸引着众多的开发者,他们为了编写.移植或维护应用程序而必须学习新技能. 本文是为了满足对C语言初学者或想提高自身C语言修为的开发 ...

  9. MySQL基础——数据库和SQL概述\MySQL基本使用\DQL语言学习\条件查询\排序查询\常见函数\分组查询\连接查询\子查询\分页查询\联合查询

    本文详细讲解了MySQL中DQL语言,也就是数据查询语句的使用.全文3w余字,是对学习MySQL知识的整理总结,因为篇幅较长,MySQL基础知识余下部分发表在余下博客中 DML语言学习\插入数据\删除 ...

  10. C语言学习笔记---001C语言的介绍,编译过程原理,工具等

    C语言学习笔记---001C语言的介绍,编译过程原理,工具等 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 技术交流平台:cre.i ...

最新文章

  1. Kraken:使用精确比对的超快速宏基因组序列分类软件
  2. php文章排序,PHP+Ajax实现后台文章快速排序
  3. 解决方法:该站点安全证书的吊销信息不可用。是否继续?
  4. 豪华版飞机大战系列(六)--附源代码
  5. Spring Boot 2.0(三):Spring Boot 开源软件都有哪些?
  6. oracle能否生成mdb,oracle怎么导入.mdb文件
  7. .net与mysql,ASP.NET与MySql的连接
  8. android 属性动画实例,Android 属性动画Animator工具类代码案例
  9. Python学习日记之中文支持
  10. 利用Linux系统生成随机密码的8种方法
  11. crm创建启用停用用户
  12. ArcGIS学习总结(四)——缓冲区分析应用
  13. [C++/CLI编程宝典][7]基本概念
  14. 多个计算机之间触发事件,相互通信的一种方法----通过文件的办法
  15. [转] VR-FORCES 介绍
  16. 学习爬虫第二天:继续爬公司内部的通讯录
  17. 赛尔号通信数据的逆向分析与还原(思路篇)
  18. 计算机应用程序无响应,必看!电脑运行卡或软件卡死无响应,怎么办?
  19. win10必须禁用的服务_WIN10优化小技巧
  20. python随机种子怎么用_python设置随机种子实例讲解

热门文章

  1. APP抓包,针对 SSLPinning反爬
  2. stm32系统时钟配置,标准库v3.5
  3. Qt 学习之路 2(84):Repeater
  4. 设计模式之二 工厂模式
  5. idea 修改前后端代码自动运行
  6. torch随机数 manual_seed
  7. Linux kernel SMP 中断机制
  8. 禁用使用未签名驱动导致的windows 7自动修复
  9. Intel 64 Memory ordering principles
  10. 安卓和ios的ui设计区别_【交互设计】 也许这些才是你作品集最需要的