zoukankan      html  css  js  c++  java
  • go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

    Go语言中文网 - Golang中文社区
    https://studygolang.com/

    The Go Programming Language (官方网站需要翻)
    https://golang.org/

    下载后直接下一步,下一步安装就可以了

    下载 LiteIDE - Golang中国
    https://www.golangtc.com/download/liteide

    // You can edit this code!
    // Click here and start typing.
    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello, 世界")
    }

    ===============

    Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。
    Go是谷歌2009发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用
    Go Logo
    的一种BASIC语言.
    北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。
    谷歌资深软件工程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”
    2007年,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%, 投入在该项目上。除了派克外,该项目的成员还有其他谷歌工程师也参与研发。
    派克表示,编译后Go代码的运行速度与C语言非常接近,而且编译速度非常快,就像在使用一个交互式语言。现有编程语言均未专门对多核处理器进行优化。Go就是谷歌工程师为这类程序编写的一种语言。它不是针对编程初学者设计的,但学习使用它也不是非常困难。Go支持面向对象,而且具有真正的闭包(closures)和反射 (reflection)等功能。
    在学习曲线方面,派克认为Go与Java类似,对于Java开发者来说,应该能够轻松学会 Go。之所以将Go作为一个开源项目发布,目的是让开源社区有机会创建更好的工具来使用该语言,例如 Eclipse IDE中的插件。
    在谷歌公开发布的所有网络应用中,均没有使用Go,但是谷歌已经使用该语言开发了几个内部项目。派克表示,Go是否会对谷歌即将推出的Chrome OS产生影响,还言之尚早,不过Go的确可以和Native Client配合使用。他表示“Go可以让应用完美的运行在浏览器内。”例如,使用Go可以更高效的实现Wave,无论是在前端还是后台。
    Go 同时具有两种编译器,一种是建立在GCC基础上的Gccgo,另外一种是分别针对64位x64和32位x86计算机的一套编译器(6g和8g)。谷歌目前正在研发其对ARM芯片和Android设备的支持。派克表示,“Android手机存在的问题是,我们一直没有一个数学协处理器。”
    目标编辑
    Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。
    谷歌大约2007年开始开发Go,并于2008年投入了一组全职员工。谷歌当初将该语言设计为一款系统编程语言,可以被用于网络服务器、存储系统和数据库中。但是谷歌认为,该语言还有望被用于其它领域。
    应用编辑
    虽然Go尚未成熟,但谷歌旗下App Engine和其他部分产品已经开始使用go语言来编写。正因如此,谷歌才需要外部编程人员的协助。
    派克说:我们需要更好的程序库和工具,而开源社区能够在这些方面为我们提供很大的帮助。
    通过创建新的编程语言,谷歌将继续拓展计算领域的各个方面,从而促进这些领域的发展。这同样也是谷歌开发Android操作系统、Chrome浏览器和Chrome OS的动机所在。
    功能编辑
    Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助程序设计师处理琐碎但重要的内存管理问题。Go的速度也非常快,几乎和C或C++程序一样快,且能够快速制作程序。
    Go的网站就是用Go所建立,但Google有更大的野心。该软件是专为构建服务器软件所设计(如Google的Gmail)。Google认为Go还可应用到其他领域,包括在浏览器内执行软件,取代JavaScript的角色。
    Pike说:它至少在强度上比JavaScript高一级。Google自建Chrome浏览器,部分原因就是加速JavaScript和网页表现,而Google已经融合了本身的技术,如Native Client和Gears。
    Pike表示,Go另一项与网络相关的特色,是服务器和用户端设备,如PC或手机,可以分担工作。因此,使用Go的服务便可轻松适应不同的用户端处理性能。
    Go也可解决现今的一大挑战:多核心处理器。一般电脑程序通常依序执行,一次进行一项工作,但多核心处理器更适合并行处理许多工作。Pike说:我们自认有足够的支持,可改善这方面的问题。
    Go团队正在寻求帮助。其中一个重要领域是改善Go能够使用的runtime library。这类library可提供许多工具和功能,加快程序设计的过程。而Go的library还包括许多重要的设计元素,并供应处理同作、垃圾收集和其他低层杂务的资源。
    Go团队也需要编译器方面的协助。Thompson曾为32位元和64位元x86处理器,及ARM处理器写过一些编译器,Taylor也为GCC编译器写过一个Go前端。
    尽管Google对Go有很大的野心,该公司也明白,这项计划无法完全取代现有的技术。Pike说:我不认为我们能取代任何东西。我们只是创造出这个领域的另一个角色。
    特色编辑
    简洁 快速 安全
    并行 有趣 开源,
    内存管理,数组安全,编译迅速
    团队成员编辑
    Thompson:1983年图灵奖(Turing Award)和1998年美国国家技术奖(National Medal of Technology)得主。他与Dennis Ritchie是Unix的原创者。Thompson也发明了后来衍生出C语言的B程序语言。
    Pike:曾是贝尔实验室(Bell Labs)的Unix团队,和Plan 9操作系统计划的成员。他与Thompson共事多年,并共创出广泛使用的UTF-8 字元编码。
    Robert Griesemer:曾协助制作Java的HotSpot编译器,和Chrome浏览器的JavaScript引擎V8。
    此外还有Plan 9开发者Russ Cox、和曾改善已广泛使用之开源码编译器GCC的Ian Taylor。

    开发工具编辑
    LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由QT编写。
    LiteIDE主要特点:
    支持主流操作系统
    Windows
    Linux
    MacOS X
    Go编译环境管理和切换
    管理和切换多个Go编译环境
    支持Go语言交叉编译
    与Go标准一致的项目管理方式
    基于GOPATH的包浏览器
    基于GOPATH的编译系统
    基于GOPATH的Api文档检索
    Go语言的编辑支持
    类浏览器和大纲显示
    Gocode(代码自动完成工具)的完美支持
    Go语言文档查看和Api快速检索
    代码表达式信息显示F1
    源代码定义跳转支持F2
    Gdb断点和调试支持
    gofmt自动格式化支持
    其他特征
    支持多国语言界面显示
    完全插件体系结构
    支持编辑器配色方案
    基于Kate的语法显示支持
    基于全文的单词自动完成
    支持键盘快捷键绑定方案
    Markdown文档编辑支持
    实时预览和同步显示
    自定义CSS显示
    可导出HTML和PDF文档
    批量转换/合并为HTML/PDF文档
    Sublime Text 2(以下简称Sublime)+ GoSublime + gocode + MarGo的组合。
    其优点有:
    自动化提示代码。
    保存的时候自动格式化代码,让您编写的代码更加美观,符合Go的标准。
    支持项目管理
    支持语法高亮 [18]
    但是现在Sublime Text 2 已经不支持 GoSublime 插件了,可以使用Sublime Text 3。
    Vim是从vi发展出来的一个文本编辑器,享有“编辑器之神”的称号。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
    Emacs是由GNU开源组织开发出来的一个文本编辑器,同时更是一个整合环境,曾被人戏称“一个伪装成编辑器的操作系统”。
    Eclipse也是非常常用的开发利器,可以使用Eclipse来编写Go程序。
    熟悉Java的读者应该对于IDEA不陌生,IDEA是JetBrains公司的一个Java集成开发环境。
    基于IDEA,用户可以通过安装插件的形式来使其支持其他编程语言,实现代码提示和重构实现,但是由于各个编程语言的独有特性,所以单纯通过插件的形式来实现效果并不是很完美。为此,JetBrains公司在IDEA的基础上,又针对其他各种编程语言定制了专用的集成开发环境,针对特定的编程语言进行特定的优化。
    Goland就是专门针对Go语言的集成开发环境(目前还只是早期评估版本,可以免费使用)。
    Goland主要特点:
    支持主流操作系统
      Windows(.exe)
      Linux(.tar.gz)
      Mac OS(.dmg)
    Go编译环境管理和切换
      管理和切换多个Go编译环境
      支持Go语言交叉编译
    其他特征
      最新版支持Go 1.9,支持类型别名
      语法高亮显示
      片段中内嵌的C语法高亮显示
      与Go标准一致的项目管理方式
      gofmt、goimports自动格式化支持
      代码自动完成、重构
      大纲显示
      源代码跳转
      快速API检索
      代码表达式信息显示
      断点调试支持(支持运行到光标、条件断点等)
      使用Delve进行远程调试
      支持Docker容器的远程调试
      参数名称显示
      编辑器样式风格调整
      键盘快捷键自定义配置
      Markdown支持(插件)
      安装插件实现更多功能

  • 相关阅读:
    直接插入排序
    归并排序
    正则问题
    九宫重排
    java合并两个集合并通过stream流构建响应结果
    企业微信扫码登录
    docker安装es
    docker安装nacos随记
    解决docker安装mysql8.0无法远程连接问题
    java分析工具10:jvm测试与调优
  • 原文地址:https://www.cnblogs.com/zdz8207/p/golang-learn-1.html
Copyright © 2011-2022 走看看