【1】简介:
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种计算机编程语言语言。
【2】设计初衷:
Go语言是谷歌推出的一种的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,"使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。"
1) 计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能。
2) 软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。
3) 企业运行维护很多c/c++的项目,c/c++程序运行速度虽然很快,但是编译速度确很慢,同时还存在内存泄漏的一系列的困扰需要解决。
【3】应用领域:
【1】工具介绍:
1) visual studio code, Microsoft产品(简称VSCode):一个运行于Mac Os、Windows和Linux 之上的,默认提供Go语言的语法高亮,安装Go语言插件,还可以支持智能提示,编译运行等功能。
2) Sublime Text,可以免费使用,默认也支持Go代码语法高亮,只是保存次数达到一定数量之后就会提示是否购买,点击取消继续用,和正式注册版本没有任何区别
3) Vim: Vim是从vi发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
4) Emacs : Emacs传说中的神器,她不仅仅是一个编辑器,因为功能强大,可称它为集成开发环境
5) Eclipse IDE工具,开源免费,并提供GoEclipse插件
6) LitelDE,LitelDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),是中国人开发的。
7) JetBrains公司的产品:PhpStrom、WebStrom和PyCharm等IDE工具,都需要安装Go插件。
【2】VSCode的安装:
下载vscode安装软件
https://code.visualstudio.com/download
【1】搭建Go开发环境 - 安装和配置SDK
基本介绍:
1) SDK的全称(Software Development Kit 软件开发工具包)
2) SDK是提供给开发人员使用的,其中包含了对应开发语言的工具包。
【2】SDK下载
1) Go语言的官网为: golang.org ,无法访问,需要翻墙。
2) SDK下载地址 : Golang中文社区:
https://studygolang.com/dl (1.15.6版本)
【3】安装SDK:
请注意:安装路径不要有中文或者特殊符号如空格等
SDK安装目录建议:一般我安装在d:/golang_sdk安装时 , 基本上是傻瓜式安装,解压就可以使用
go整个目录就是sdk
【1】进入控制命令台: win+R -->cmd
【2】证明SDK环境成功:
【3】如果我想要在任意的路径下执行某个命令,需要将这个命令所在的目录配置到环境变量path中去
将命令“注册”到当前的计算机中,配置path环境变量:
【4】再次验证path是否好用:(注意:控制命令台需要重启)
【1】go基本目录结构:
【2】创建go源文件:
【3】开始写代码: 第一个HelloWorld :
package main //声明文件所在的包,每个go文件必须有归属的包import "fmt" //引入程序中需要用的包,为了使用包下的函数,比如:Printlnfunc main() { //main主函数,程序的入口 fmt.Println("Hello Golang!") //在控制台打印输出一句话,双引号中的内容会原样输出}
【4】对源文件test.go进行编译:go build
【5】执行操作:
【6】通过go run直接可以帮我们编译 执行 源文件:
【1】执行流程分析:
【2】上述两种执行流程的方式区别
1) 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多。
2) 如果我们先编译生成了可执行女件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行
3) 如果我们是直接go run go源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行。
4) go run运行时间明显要比第一种方式 长一点点
【3】编译注意事项:编译后的文件可以另外指定名字:
(1)源文件以"go"为扩展名。
(2)程序的执行入口是main()函数。
(3)严格区分大小写。
(4)方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号),这也体现出Golang的简洁性。
(5)Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错
(6)定义的变量或者import的包如果没有使用到,代码不能编译通过。
(7)大括号都是成对出现的,缺一不可
【1】注释的作用:
用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性;
注释是一个程序员必须要具有的良好编程习惯。
将自己的思想通过注释先整理出来,再用代码去体现。
【2】Golang中注释类型:
Go支持c语言风格的/**/块注释,也支持c++风格的//行注释。行注释更通用,块注释主要用于针对包的详细说明或者屏蔽大块的代码
(1)行注释 // VSCode快捷键:ctrl+/ 再按一次取消注释
(2)块注释(多行注释) /**/ VSCode快捷键:shift+alt+a 再按一次取消注释
注意:块注释中不可以嵌套块注释
提示:官方推荐使用行注释 //
【1】注意缩进
向后缩进:tab
向前取消缩进:shift+tab
通过命令完成格式化操作:
gofmt test.go //只是效果展示,不会写入源文件中gofmt -w test.go //会写入源文件
【2】成对编程 {} () “” ‘’
【3】运算符两边加空白
【4】注释:官方推荐行注释//
【5】以下代码是错误的:
原因:go的设计者想要开发者有统一的代码风格,一个问题尽量只有一个解决方案是最好的
【6】行长约定:
一行最长不超过80个字符,超过的请使用换行展示,尽量保持格式优雅
参考原文:cyz