Go学习记录

操作系统:Windows

一、下载

go官网:https://golang.org/
go下载地址:https://golang.org/dl/

二、安装

安装包有msi安装版本,以及zip压缩包版本。下面以msi版为例说明:

注意:千万不要在安装路径中出现中文。否则之后将无法正常使用Go语言开发工具

zip版注意配置环境变量,msi版则大部分环境变量自动配置:

(1). 新建 变量名:GoRoot 变量值 :Go的安装目录

(2). 编辑 Path 在Path的变量值的最后加上 %GoRoot%in

(3). 新建 变量名:GoPath 变量值 :Go的工作目录

(4). 新建 变量名:GOARCH 变量值:386  (64位操作系统时,amd64)

(5). 新建 变量名:GOOS 变量值:windows

验证go是否安装成功,在cmd命令窗口中命令 go version,出现以下界面则说明安装成功。

三、开发环境配置

1、LiteIDE

2、Visual Studio Code

3、Sublime Text

4、Eclipse Go

5、JetBrains Gogland

GoLand注册码

Gogland IDE Run/Debug Configurations 配置说明

Run Kind 需选择Package,不能选择File。 
Package path 需设置成main包的目录名,在这里它名为main。 
Working directory 需要设置成该项目的src目录路径。 

四、项目结构说明

Go项目的目录结构说明

五、项目目录结构组织

Golang项目目录结构组织

六、Go命令

GO 命令教程

build、install、run

go build:用于编译我们指定的源码文件或代码包以及它们的依赖包。

go install:用于编译并安装指定的代码包及它们的依赖包。

go run:可以编译并运行命令源码文件

七、Go语言基础

易百Go语言教程

Go语言教程-菜鸟学院

Go 语言-极客学院

Go语言包详解

Go包详解-GitHub

GoLang package解释

[Golang]Go Packages

go 语言中常用的包

golang中builtin包说明

Go中的下划线

:当一个包被导入时,包的名称变成其内容的访问器,定位一个函数时,直接 package.funcName

命名:例如,一个名称在包外的可见性是由其首个字符是否为大写字母决定的

难点

接口 : 一个类型并不需要明确声明其所实现的接口。要实现某个接口,该类型只需要实现此接口的方法即可。定义接口,定义类型,绑定方法,实现接口

函数,函数方法,Error,嵌入,并发

关键字:

var和const :变量和常量的声明
var varName type 或者 varName : = value
package and import: 导入
func: 用于定义函数和方法
return :用于从函数返回
defer someCode :在函数退出之前执行
go : 用于并行,在函数或方法调用的前面加上go关键字可在一个新的goroutine中运行调用。当调用完成后,此goroutine将会静默地退出
select  : 用于选择不同类型的通讯
interface  : 用于定义接口
struct  : 用于定义抽象数据类型
break、case、continue、for、fallthrough、else、if、switch、goto、default  : 流程控制
chan : 用于channel通讯
type : 用于声明自定义类型
map : 用于声明map类型数据
range : 用于读取slice、map、channel数据

注意:

一个独立的可执行的golang程序,package main是必须出现,紧跟在是引入的各种库,然后是各个函数,这里必须要有一个main函数。main函数是程序的入口。

八、Go语言高级特性

Golang中用interface{}接收任何参数与强转

[golang] struct转JSON,解析JSON

Go-struct嵌套初始化与赋值

浅谈 Golang sync 包的相关使用方法

Golang 简单理解Channel

Go语言 Channel <- 箭头操作符 详解

Go语言学习笔记(七)杀手锏 Goroutine + Channel

Golang OOP、继承、组合、接口

go timer 和 ticker 的区别

九、Go语言web编程

Go web开发初探

Golang学习-第二篇 搭建一个简单的Go Web服务器

Golang Template 简明笔记

最好的6个Go语言Web框架

Go Web 开发之 Beego 框架初探

beego官网

十、Go语言中使用MongoDB

mgo Guide 0.2 文档

十一、第三方包

go get安装第三方包的前提条件和步骤

go语言依赖管理工具:dep    【Gopkg.toml和Gopkg.lock文件】

十二、开源

cli - 构建强大命令行程序的工具箱 (1)

cli - 构建强大命令行程序的工具箱 (2)

GitHub上优秀的Go开源项目

用beego开发服务端应用

参考资料:

官方文档

go语言中文网

go标准库

Go编码规范指南

开发环境:

Windows下使用Visual Studio Code搭建Go语言环境

Windows下搭建go语言开发环境 以及 开发IDE (附下载链接)

在Visual Studio Code中配置GO开发环境

Windows环境下vscode-go安装笔记

Go语言 IDE之Gogland配置使用 

原文地址:https://www.cnblogs.com/wangwangfei/p/5556532.html