一 go语言简介
1 、golang历史
Go 语言是由谷歌公司在 2007 年开始开发的一门语言,目的是能在多核心时代高效编写网络应用程序。Go 语言的创始人 Robert Griesemer、Rob Pike 和 Ken Thompson 都是在计算机发展过程中作出过重要贡献的人。自从 2009 年 11 月正式公开发布后,Go 语言迅速席卷了整个互联网后端开发领域,其社区里不断涌现出类似 vitess、Docker、etcd、Consul 等重量级的开源项目。
Go 是一门开源的编程语言,目的在于降低构建简单、可靠、高效软件的门槛。尽管这门语言借鉴了很多其他语言的思想,但是凭借自身统一和自然的表达,Go 程序在本质上完全不同于用其他语言编写的程序。Go 平衡了底层系统语言的能力,以及在现代语言中所见到的高级特性。你可以依靠 Go 语言来构建一个非常快捷、高性能且有足够控制力的编程环境。使用 Go 语言,可以写得更少,做得更多。
go语言的吉祥物是金花鼠
go语言一般称作golang或go
2 、go官方资料
官网:https://golang.org/
go sdk下载:https://golang.google.cn/dl/
golang中文社区:https://studygolang.com/dl
3 、go学习资料
(1)《go语言实战》 书里面代码地址:https://github.com/goinaction/code
(2)老男孩go语言教程 https://www.bilibili.com/video/BV1fz4y1m7Pm?from=search&seid=13920530081026322171
(3)李文周博客 https://liwenzhou.com/
(4)中文社区文档 https://studygolang.com/pkgdoc
4、 go和其它语言对比
go会占领java的中间件市场
go语言特点
Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。但Go语言除了擅长处理服务器端任务外,它还可以用来做图。
package main
import (
"log"
"github.com/fogleman/pt/pt"
)
func main() {
scene := pt.Scene{}
wall := pt.SpecularMaterial(pt.HexColor(0xFCFAE1), 2)
scene.Add(pt.NewSphere(pt.Vector{4, 7, 3}, 2, pt.LightMaterial(pt.Color{1, 1, 1}, 1, pt.NoAttenuation)))
scene.Add(pt.NewCube(pt.Vector{-30, -1, -30}, pt.Vector{-8, 10, 30}, wall))
scene.Add(pt.NewCube(pt.Vector{-30, -1, -30}, pt.Vector{30, 0.376662, 30}, wall))
material := pt.GlossyMaterial(pt.Color{}, 1.5, pt.Radians(30))
mesh, err := pt.LoadOBJ("examples/gopher.obj", material)
if err != nil {
log.Fatalln("LoadOBJ error:", err)
}
mesh.SmoothNormals()
scene.Add(mesh)
camera := pt.LookAt(pt.Vector{8, 3, 0.5}, pt.Vector{-1, 2.5, 0.5}, pt.Vector{0, 1, 0}, 45)
pt.IterativeRender("out%03d.png", 10, &scene, &camera, 2560/4, 1440/4, -1, 16, 4)
}
上面这都简洁的只有几行的代码运行后会输出什么结果?也许会让你吃惊。不信的话,你可以运行一下,运行时方法是:
go run examples/gopher.go
输出的结果是这样的:
多么漂亮的地鼠呀,这个地鼠可不是一般的地鼠,它是Go语言的吉祥物。几句简单的代码就能生成这么漂亮的图案真是神奇吧。
二、开发环境配置
1、 go开发工具
1 goland
2 vscode
2、 go sdk下载
下载安装后,windows上会自动添加到环境变量,如果使用的goland,会默认找到sdk的位置。
3、 go cmd
(1) 查看go sdk版本
go version
(2) go代码生成exe文件, 执行以下命令会将test.go在当前目录生成test.exe
go build test.go
(3) 直接运行结果,不生成exe文件
go run test.go
(4) 指定生成文件的名字
go build -o sever.exe test.go
(5) 命令行格式化代码
gofmt -w test.go
直接运行gofmt test.go只是显示格式化后的代码格式,不写道文件里面
(6) go doc 看api说明
go doc builtin.delete 查看内置函数delete的说明
4、 go代码格式
5、 go注释
单行://
多行:/**/