Go ———一门优秀的编程语言

Lovealfy · · 2020 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

初识go语言是在今年5月份,耗时不到3个月和团队一起开发了一个比较大型的web应用。这篇文章主要是总结了go语言特点和部分开发常用基础知识。在写博客的路上还很长,慢慢走才会走得更远。

go语言开发三大特点

1、开发效率高

    语言非常简单,关键字少,框架也很简单。正交性,它是支持面向对象的,不是一个完全面向对象的


    设计理念追求简单,把一些不是很有必要的东西全部都砍掉了,语言功能是非常精简的


    编译速度很快、运维部署很容易


2、支持高并发

    Goruntine 协程  协程与线程主要区别是它将不再被内核调度,而是交给了程序自己而线程是将自己交给内核调度,所以不难理解golang中调度器的存在


    进程是系统分配资源的最小单位、线程是cpu调度的最小单位,共享进程的内存地址空间Golang的一个调度器去调度不同的协程 ,量级比线程还要轻很多,协程没有线程的上下文切换消耗,协程的调度切换时用户手动切换的,因此更加灵活,因此又叫用户空间线程,有原子操作性

3、性能特别高

    垃圾回收、自带高性能http服务器


    高并发  只需要一个go关键字就可以启动一个新的协程,使用方便、goroutine比java中线程轻量级、效率高,基于消息传递的通信,传统的大多是共享内存的并发模型,需要锁的同步机制,go是靠消息管道channel来通信


    运算性能是java的1.5倍,运行空间是java的几十分之一,启动时间是java的几十分之一,并发量是java的上千倍性能上不如C语言,但是语法比c要简单,c语言是过程性语言,申请内存、内存分配都需要手工处理,go语言支持简单的自动化GC


  还具有 工程管理、用目录和包名自动推导,编译无需依赖,编译速度快,编程规范统一,统一错误优点


下面用一张思维导图来总结go基础知识点



有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Lovealfy

查看原文:Go ———一门优秀的编程语言

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2020 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传