go语言基础
开发环境
1. go安装包
https://golang.google.cn/dl/
2.go的开发IDE
https://www.jetbrains.com
直接下一步,它会自动将go的环境添加到全局环境
注意:
goland创建项目,选择go 的安装路径(默认是自动选中)
gopath: 所有的代码必须放在这个路径下的src文件夹下,否则无法执行,默认创建到用户目
录下的go文件夹,所有的系统都是一样的
取消掉 index entire gopath,否则默认将路径加到全局环境
路径和文件都不要出现中文
Go语言简介
go语言保证了既能达到静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容Go语言:Go=C+Python,说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。
go语言特点
1. 从c语言中继承了很多理念,包括表达式语法,结构控制,基础数据类型,调用参数传值,指针等等,也保留了和c语言一样的编译执行方式及弱化的指针。
2. 引用包的概念,用于组织程序结构,Go语言的**一个文件都要属于一个包**,而不能单独存在。
3. 垃圾回收机制,内存自动回收,不需开发人员管理。
4. 天然并发(重要特点)
- 从语言层面支持并发,实现简单;
- goroutine,轻量级线程,**可实现大并发处理**,高效利用多核优势;
- 基于CPS并发模型(Communicating Sequential Processes)实现;
- 吸收了管道通信机制,形成Go语言特有的管道channel;
- 通过管道channel,可以实现不同的gorute之间的相互通信
- 函数返回多个值

新的创新:比如切片、延时执行defer等
go的常用命令
go version
go env # go的环境变量
set GO111MODULE= 空的,现在没有使用model模式
set GOPATH=C:\Users\小子\go 代码存放的路径
set GOROOT=E:\go go sdk安装的路径
//------------------------------------------------
go build # 编译型语言,需要先编译在执行,编译成可执行文件,执行可执行文件
go run #编译并执行,开发阶段用,两步并做一步
go get # 下载并安装依赖,相当于pip和npm
go fmt # 自动格式化代码
hello,world!
Go 语言的基础组成有以下几个部分:
- 包声明
- 引入包
- 函数
- 变量
- 语句 & 表达式
- 注释
# 1 写出go函数
package main // 声明包名, 包名是main 每一个文件都属于某一个包
import "fmt" // 导入包,内置包,fmt包中提供格式化,输出,输入的函数
func main() { // 定义一个main函数
fmt.Println("hello,world!!") // 打印函数==print()
}
// 单行注释
/*
多行注释
*/
# 2. 在控制台执行 go build
e:\go_project\src\go_code\project01\main>go build hello.go
补充:
go build -o myhello.exe hello.go 可以自定义命名生成的exe文件名称,默认为go文件名称
# 3. 在控制台执行编译的go.exe
e:\go_project\src\go_code\project01\main>hello.exe
hello,world!!
# 或者 go run s1.go 编译并执行
go 的注释
// 单行注释
/*
多行注释
*/
goland版本:直接右键执行
入口
* go 所有的编译型语言运行都要有一个入口
* go的入口是main包下的main()函数
* main包下不可以有多个main函数
* 当你创建多个go文件可以写main函数,因为设置的是以file执行,不是以项目来执行
Go开发注意事项:
Go源文件以“go”为扩展名; Go应用程序的执行入口是main()函数; GO语言严格区分大小写; Go方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号),这也体现出Golang的简洁性; Go编辑器是一行行编译的,因此我们一行就写一条语句,不能把多条语句写在同一行,否则报错; Go语言定义的变量或者import的包如果没有使用到,代码是不能编译通过的; 大括号是成对出现的,缺一不可。
Go语言的转义字符(escape char)
常用转义字符说明:

Golang开发中常见问题和解决方法
1.找不到文件

Go语言注释

注释说明: // 单行注释 /* 多行注释 */
Go规范的代码风格

// 注解: gofmt go文件 把格式化后的内容打印出来,源文件内容不变 gofmt -w go文件 直接将源文件内容格式化好,不会打印 go fmt go文件 将源文件内容格式化好,需要格式化的,会打印文件名,不需要格式化的,就啥打印也没有

举例说明:

go标准库API文档
//go文档(需要FQ) https://golang.org/ //go中文库文档 https://studygolang.com/pkgdoc
Dos常用命令
Dos(Disk Operating System)磁盘操作系统
目录操作
// 查看当前目录下的文件 dir // 切换盘符,例如从C盘与D盘之间切换 方法1: C:\Users\v_jiangchun>d: D:\>C: C:\Users\v_jiangchun> 方法2: C:\Users\v_jiangchun>cd /d d: D:\>cd /d c: C:\Users\v_jiangchun> // 切换到当前盘的其他目录 相对路径: E:\>cd go_project 绝对路径: E:\go_project>cd e:\go_project\src\go_code e:\go_project\src\go_code> // 切换到其他盘的其他目录 d:\go>cd /d e:\go_project e:\go_project> // 切换到上级目录 e:\go_project>cd .. e:\> // 切换到根目录 e:\go_project>cd / e:\> // 新建目录 md 新建一个目录: e:\go_project>md testdir 新建多个目录: e:\go_project>md testdir1 testdir2 // 删除目录 删除空目录: e:\go_project>rd testdir 删除目录以及下面的子目录和文件,不带询问 e:\go_project>rd /q/s testdir1 删除目录以及下面的子目录和文件,带询问 e:\go_project>rd /s testdir2
文件操作
// 新建或追加内容到文件 d:\test200>echo hello > d:\abc100\abc.txt // 复制或移动文件 复制并重命名: d:\abc100>copy abc.txt d:\test200\ok.txt 移动文件:(写目录是用文件原有的名字,移动时重命名是移过去重新写了名字) d:\test200>move ok.txt f:\ // 删除文件 删除指定文件 d:\abc100>del abc.txt 删除一类文件的所有文件 d:\test200>del *.txt
其他操作
// 清屏 cls // 退出dos exit

浙公网安备 33010602011771号