01 Golang简介、环境安装及示例程序

语言介绍

产生及发展

核心研发团队三个大牛: Ken Thompson(肯 汤普森)、 Rob Pike(罗布 派克)、Robert Griesemer

Google创造Golang的原因:

  1. 计算机硬件频繁更新,性能提高很快,主流编程语言无法利用多核多CPU的有事
  2. 软件编程复杂度越来越高,维护成本也越来越高,缺乏一个足够简洁高效的语言
  3. C/C++项目运行速度虽然很快,但是存在内存泄露的问题。
    总结:目前主流的编程语言要么开发运维不够简洁、要么运行不够高效(不能充分利用多核多CPU)、要么存在内存泄露的问题。

Golang的发展:

  1. 2007年谷歌工程师Ken Thompson(肯 汤普森)和Rob Pike(罗布 派克)开发设计了Golang最初的原型。
  2. 2009年11月10日,Google将Golang发布并开源
  3. 2015年8月19日,Go 1.5版发布,移除了最后参与的C代码
  4. 2017年2月17 日,Go 语言1.8发布,
  5. 2018年2月16日,1.10发布

特点
Go语言技能达到静态编程语言的安全和性能,又有动态开发语言的开发维护的高效率特性。用一个表达式来表达就是:C+Python (即有C的运行效率,又有Python 的开发运维效率)

  1. 从C语言中继承了很多理念,包括语法、控制结构、基础数据类型、参数传值、指针等
  2. 引入包的概念,程序文件不能单独存在,必须归属一个包
  3. 引入垃圾回收机制,内存自动刚回收,不需要开发人员管理
  4. 天然支持并发
    从语言层面支持并发,实现简单
    goroutine,轻量级现成,可实现大并发处理,高效利用多核
    基于CPS并发模型(Communicating Sequential Processes)实现
  5. 吸收了管道通信机制,形成Go语言特有的管道,通过管道实现不同goroute之间的通信。
  6. 函数可以返回多个值
  7. 有一些新的创新,如:切片slice、延时执行defer

应用领域

  1. 区块链,分布式账本技术,让每个人均可参与数据库记录
  2. 后端应用服务,支撑后台流量,统计运行指标。如美团后台流量支撑程序。
  3. 云计算/云服务后台应用,如盛大CDN、京东消息吐送云服务

环境安装

程序下载

自行下载安装 vscode
下载 golang SDK 下载地址

配置及测试

解压压缩包到指定目录(目录路径不包含中文和空格)我这里路径是 D:\greenPro\go
配置三个环境变量:

GOROOT:  D:\greenPro\go    goSDK解压后的跟路径
Path: D:\greenPro\go\bin        goSDK解压后跟路径下的bin 路径
GOPATH:  D:\works\goworks  程序开发使用的路径    

win+R 运行命令行 执行 go 看到如下信息标识安装成功
在这里插入图片描述

示例程序编写及运行

上述GOPATH路径下通过vscode 编写Hello.go内容如下

package main
import "fmt"
func main(){
    
    
	fmt.Println("hello world!");
}

进入Hello.go所在目录,执行如下命令执行效果如下

D:\works\goworks\go01\main> go run Hello.go
hello world!

也可以先编译再执行 如下

PS D:\works\goworks\go01\main> go build Hello.go  //编译完成后目录下出现 Hello.exe 的可执行文件
PS D:\works\goworks\go01\main>./Hello  //运行可执行文件
hello world!

代码编译后生成的执行文件,复制到没有安装go环境的机器上,仍然可以运行。因为编译时将程序运行需要的内容打包到了执行文件中

其他注意事项

注释

行注释

 // 这行是注释

块注释

 /*
这里是注释
*/

特殊语法规则

  1. import 的包如果没有用到,或者变量定义后没有用到 都会报错。
  2. 程序执行入口是main 函数
  3. 严格区分大小写
  4. 每个语句后不需要分号(Go会自动在每行末尾追加分号)
  5. Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能多条语句写在同一行,否则报错
  6. 以下写法会报错
func main()//大括号必须在这个位置
 {
    
     //
 }

代码风格

  1. 官方更推荐行注释来写注释
  2. 正确的缩进和空白 可以使用 shift+Tab 操作调整 、使用 gofmt 进行代码格式化 gofmt -w hello.go
  3. 运算符两边增加1个空格
  4. 一行不超过80 个字符,超过的使用换行展示尽量优雅展示

猜你喜欢

转载自blog.csdn.net/zhangxm_qz/article/details/114357769