探索Golang:第一章的启程

发表时间: 2023-01-30 21:54

Golang引入

【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


测试SDK环境搭建成功

【1】进入控制命令台: win+R -->cmd


【2】证明SDK环境成功:


【3】如果我想要在任意的路径下执行某个命令,需要将这个命令所在的目录配置到环境变量path中去

将命令“注册”到当前的计算机中,配置path环境变量:


【4】再次验证path是否好用:(注意:控制命令台需要重启)


HelloWorld快速入门

【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直接可以帮我们编译 执行 源文件:


Golang执行流程

【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