day1-简介与下载
为什么创造了golang?
- 计算机硬件技术更新频繁,不能合理运用多核多CPU的的优势
- 目前市场缺乏一款简洁高效的编程语言
- c++、c运行速度很快,但存在内存泄漏的问题
go语言特点
既做到了静态语言的安全和性能,又达到了动态语言的开发维护高效性(c+python)
- 天然并发
- 语言层面支持并发
- goroutine,轻量级线程
- 基于CPS并发模型实现
- 自动垃圾回收机制
- 引入了包的概念
- 新特性(切片slice、延时执行defer)
- 从c语言中继承了很多理念(指针)
- 函数可以返回多个值
- 吸收了管道通信机制,形成了go语言特有的管道通过管道channel,可以实现不同goroute之间的通信
下载与安装
-
GOROOT:安装路径/go
-
PATH:添加的go/bin目录(%GOROOT%\bin)
-
GOPATH: 工作路径
3.测试(go version)
运行go文件方式
- 直接运行: go run test.go
- 编译运行:go build test.go
- 生成指定文件名编译运行:go build -o mytest.ext test.go
注意事项
- go源文件以go为扩展名
- go应用程序入口是main函数
- 严格区分大小写
- go编译器是一行行执行
- 定义的变量或引用的包没有被使用,编译不通过
- 括号是成对存在的
转义字符
- \\ :一个\
- \":一个"
- \n:换行
- \t:制表符 tab
- \r:后边覆盖前边内容
代码规范
- gofmt test.go :格式化
- tab:缩进
- shift+tab:向左缩进
- 一行不超过80个字符,超过换行\n
Dos指令
- dir:查看当前目录
- cd /d f: :从d盘切到f盘
- cd :切到其他目录
- cd ..:切到上一级
- cd \ :切到根目录
- md dir:新建文件夹
- md dir1 dir2:新建多个文件夹
- rd:删除文件夹
- rd /q/s dir:删除文件夹下所有的内容 /s:不询问
- cls:清屏
- echo 'test' > test.txt :新建test文件
- echo 'test122' >> test.txt :追加内容到test文件
- copy test.txt test1.txt:复制文件
- move test.txt ./dir/test.txt :移动文件
- del tes.txt:删除文件
- del *.txt :删除所有txt扩展名的文件