go第一天

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

一.语言的主要特性与发展的环境和影响因素

这个文章作者写的很好,从影响go发展的早期语言,为什么需要一个新语言,go语言的目标,go语言的设计思想,用途,特性等,都做了很好的讲解.

学习总结:

1.go也属于c系语言,但是又汲取了其它语言的精粹部分(有点王婆卖瓜的味道),比如包和声明方面(Pascal、Modula 和 Oberon),并发设计(通信序列进程 Communicating Squential Processes,Limbo 和 Newsqueak,Erlang),go有着类c的语法,但又更为简洁,还有一些动态语言的特性.PS:它是开源的

2.Go 语言:快速编译,高效执行,易于开发,

3.Go 语言的主要目标是将静态语言的安全性和高效性与动态语言的易开发性进行有机结合,Go 语言的另一个目标是对于网络通信、并发和并行编程的极佳支持,从而更好地利用大量的分布式和多核的计算机,Go 语言中另一个非常重要的特性就是它的构建速度,Go 语言在执行速度方面也可以与 C/C++ 相提并论,go有垃级回收机制使用标记清除算法,还可以进行反射操作,支持调用c的库言文件

4,go只有25个关键字,也是通过减少关键字数量使得代码更为简洁,

5.go没有类和继承的概念,但是可以通过接口interface实现多态性,函数是其基本构件,它是表态类型的,是类型安全的哟,它不允许隐式转换类型 ,这是第一个安全支持UTF-8的语言,做到了真正的国际化,

6.一些消失的特性

  • 为了简化设计,不支持函数重载和操作符重载
  • 为了避免在 C/C++ 开发中的一些 Bug 和混乱,不支持隐式转换
  • Go 语言通过另一种途径实现面向对象设计(第 10 - 11 章)来放弃类和类型的继承
  • 尽管在接口的使用方面(第 11 章)可以实现类似变体类型的功能,但本身不支持变体类型
  • 不支持动态加载代码
  • 不支持动态链接库
  • 不支持泛型
  • 通过 recoverpanic 来替代异常机制(第 13.2 - 3 节)
  • 不支持断言
  • 不支持静态变量

    原文中对go的总结很好,引用一下,还有go的用途我没有做总结

  • 简化问题,易于学习
  • 内存管理,简洁语法,易于使用
  • 快速编译,高效开发
  • 高效执行
  • 并发支持,轻松驾驭
  • 静态类型
  • 标准类库,规范统一
  • 易于部署
  • 文档全面
  • 免费开源

     

     


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

    本文来自:CSDN博客

    感谢作者:threeyax

    查看原文:go第一天

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

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