30分钟学习go语言

简介: 第一分钟打开Go语言官方文档The Go Programming Language (google.cn) 并进行下载与安装Downloads - The Go Programming Language (google.cn)

第一分钟

打开Go语言官方文档

The Go Programming Language (google.cn) 并进行下载与安装

Downloads - The Go Programming Language (google.cn)

网络异常,图片无法展示
|

点击下载完成之后一路next

即可安装完成

然后

go version 
复制代码

检查是否安装成功

网络异常,图片无法展示
|

如果所示,安装成功了,接下来

第二分钟

对go语言的一些命令有个简单认识

go主要命令解释

  1. build: 编译包和依赖。

  2. clean: 移除当前源码包里面编译生成的文件。

  3. doc: 显示包或者符号的文档。

  1. env: 打印go的环境信息,查看GOPATH,GOROOT环境变量都可以使用该命令查看。

网络异常,图片无法展示
|

  5. bug: 启动错误报告。

  6. fix: 运行go tool fix。

  7. fmt: 运行gofmt进行格式化。

  8. generate: 从processing source生成go文件。

  9. get: 下载并安装包和依赖。

  10. install: 编译并安装包和依赖。

  11. list: 列出包。

  12. run: 编译并运行go程序。

  13. test: 自动读取源码目录下面名为*_test.go的文件,生成并运行测试用的可执行文件。

  14. tool: 运行go提供的工具。

  15. version: 显示当前环境安装go的版本。

  16. vet: 运行go tool vet。

第三分钟

认识Go Module

go module是go官方自带的go依赖管理库,它是go相关包依赖的集合,在Go 1.14 版本中正式推荐可以用在生产上,go module由vgo发展而来。

go module组成

  go module主要由三部分组成:

   1. 集成在go命令里的工具集:提供了download,edit等8个命令,下面会说。

   2. go.mod 文件:保存了所有的依赖列表,根据文件中的依赖项顺序。

   3. go.sum 文件:主要用于版本的管理,保存了不同的版本所对应的hash值,用于校验依赖从而避免依赖被修改。``

    一般go.mod 文件和go.sum 文件都是在项目的根目录下面,而且都是通过命令来修改里面的内容。

go module可以将某个项目(文件夹)下的所有依赖整理成一个 go.mod 文件,里面写入了依赖的版本等。

go mod 有以下命令:

命令 说明
download download modules to local cache(下载依赖的module到本地cache)
edit edit go.mod from tools or scripts(编辑go.mod文件)
graph print module requirement graph (打印模块依赖图)
init initialize new module in current directory(在当前文件夹下初始化一个新的module, 创建go.mod文件)
tidy add missing and remove unused modules(增加丢失的module,去掉未用的module)
vendor make vendored copy of dependencies(将依赖复制到vendor下,注意依赖需要在import 中声明后才能进行导入)
verify verify dependencies have expected content (校验依赖)
why explain why packages or modules are needed(解释为什么需要依赖)



相关文章
|
5天前
|
JSON 测试技术 Go
零值在go语言和初始化数据
【7月更文挑战第10天】本文介绍在Go语言中如何初始化数据,未初始化的变量会有对应的零值:bool为`false`,int为`0`,byte和string为空,pointer、function、interface及channel为`nil`,slice和map也为`nil`。。本文档作为指南,帮助理解Go的数据结构和正确使用它们。
53 22
零值在go语言和初始化数据
|
7天前
|
安全 算法 程序员
在go语言中使用泛型和反射
【7月更文挑战第8天】本文介绍go支持泛型后,提升了代码复用,如操作切片、映射、通道的函数,以及自定义数据结构。 泛型适用于通用数据结构和函数,减少接口使用和类型断言。
68 1
在go语言中使用泛型和反射
|
9天前
|
缓存 编译器 Shell
回顾go语言基础中一些特别的概念
【7月更文挑战第6天】本文介绍Go语言基础涵盖包声明、导入、函数、变量、语句和表达式以及注释。零值可用类型如切片、互斥锁和缓冲,支持预分配容量以优化性能。
40 2
回顾go语言基础中一些特别的概念
|
13天前
|
存储 Go API
一个go语言编码的例子
【7月更文挑战第2天】本文介绍Go语言使用Unicode字符集和UTF-8编码。Go中,`unicode/utf8`包处理编码转换,如`EncodeRune`和`DecodeRune`。`golang.org/x/text`库支持更多编码转换,如GBK到UTF-8。编码规则覆盖7位至21位的不同长度码点。
115 1
一个go语言编码的例子
|
5天前
|
JSON Java Go
Go 语言性能优化技巧
在Go语言中优化性能涉及数字字符串转换(如用`strconv.Itoa()`代替`fmt.Sprintf()`)、避免不必要的字符串到字节切片转换、预分配切片容量、使用`strings.Builder`拼接、有效利用并发(`goroutine`和`sync.WaitGroup`)、减少内存分配、对象重用(`sync.Pool`)、无锁编程、I/O缓冲、正则预编译和选择高效的序列化方法。这些策略能显著提升代码执行效率和系统资源利用率。
42 13
|
1天前
|
Cloud Native Java Go
为什么要学习Go语言?
GO logo的核心理念,即简单胜于复杂。使用现代斜体无衬线字体与三条简单的运动线相结合,形成一个类似于快速运动的两个轮子的标记,传达速度和效率。字母的圆形暗示了GO地鼠的眼睛,创造了一个熟悉的形状,让标记和吉祥物很好地搭配在一起。
12 4
|
5天前
|
设计模式 Go
Go语言设计模式:使用Option模式简化类的初始化
在Go语言中,面对构造函数参数过多导致的复杂性问题,可以采用Option模式。Option模式通过函数选项提供灵活的配置,增强了构造函数的可读性和可扩展性。以`Foo`为例,通过定义如`WithName`、`WithAge`、`WithDB`等设置器函数,调用者可以选择性地传递所需参数,避免了记忆参数顺序和类型。这种模式提升了代码的维护性和灵活性,特别是在处理多配置场景时。
41 8
|
7天前
|
前端开发 JavaScript Go
|
5天前
|
存储 Go
go语言中fmt格式化包和内置函数汇总
【7月更文挑战第10天】本文介绍fmt包和`Errorf`用于创建格式化的错误消息。`fmt`包还涉及一些接口,如`Formatter`、`GoStringer`、`ScanState`、`Scanner`和`Stringer`,支持自定义格式化和输入/输出处理。
17 1
|
5天前
|
Go
go语言中格式化输出的占位符
【7月更文挑战第10天】`fmt` 包在 Go 语言中用于格式化输出,包括不同类型的占位符:%v(默认格式)、%+v(带字段名的结构体)、%#v(Go语法表示)、%T(类型表示)、%%(百分号)。布尔值用%t,整数有%b、%c、%d、%o、%q、%x、%X和%U。浮点数和复数用%b、%e、%E、%f、%g、%G。字符串和字节切片用%s、%q、%x、%X。指针用%p。占位符可配合+、-、#、空格和0进行调整。宽度和精度控制输出格式,例如 %.4g 控制小数精度。Go 没有 `%u`,但无符号整数默认打印为正数。运算符包括逻辑、比较、加减、乘除、移位、按位和按位异或等。
17 1