Go是一门并发支持、垃圾回收的编译型系统编程语言。
特点:类型安全和内存安全
以非常直观和极低的方案实现高并发
高效的垃圾回收机制
快速编译
为多核计算机提供性能提升方案
Utf-8编码支持
Go源码安装
Go标准包安装
Go环境变量与工作目录
Go get 获取远程安装包
Go run 直接运行程序
Go build 测试编译,检查是否有编译错误
Go fmt 格式化源码
Go install 编译包文件并编译整个程序
Go test 运行测试文件
Go doc 查看文档
1、 go程序是通过package来组织的
只有package名称为main的包可以包含main函数
一个可执行程序有且仅有一个main包
通过 import关键字来导入其他非main包
通过const关键字来进行常量定义
通过在函数体外使用var关键字来进行全局变量的声明与赋值
通过type关键字来进行结构(struct)或接口(interface)的声明
通过func关键字来进行函数的声明
如果导入包之后未调用其中的函数或者类型将会报编译错误
当使用第三方包时,包名可能会非常接近或者相同,此时就可以使用别名来进行区别和调用
省略调用(不建议使用,易混淆。不可以和别名同时使用)
Go语言可以使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包调用。根据约定,函数首字母小写即为private 大写即为public
2、 类型与变量
布尔型 bool
整型 int/uint
字节型 byte(uint8别名)
浮点型 float32/float64
复数 complex64/complex128
其他值类型:array、struct、string
引用类型:slice、map、chan
接口类型:interface
函数类型:func
零值并不等于空值,二是当变量被声明为某种类型后的默认值。
单个变量的声明与赋值
多个变量的声明与赋值
全局变量的声明可使用var()的方式进行缩写
全局变量的声明不可以省略var,但可以使用并行方式
所有变量都可以使用类型推断
局部变量不可以使用var()简写,只能使用并行方式
变量的类型转换
Go中不存在隐式转换,所有类型转换必须显示声明
转换只能发生在两种相互兼容的类型之间
String()表示将数据转换成文本格式,因为计算机中存储的任何东西本质上都是数字,因此函数自然地认为我们需要的是用数字表示文本。
3、 常量与运算符
常量的值在编译时就已经确定
等号右侧必须是常量或者常量表达式
在定义常量组时,如果不提供初始值,则表示将使用上行的表达式
使用相同的表达式不代表具有相同的值
Iota是常量的计数器,从0开,组中每定义1个常量自动递增1
通过初始化规则与iota可以达到枚举的效果
每遇到一个const关键字,iota就会重置为0
4、 表单提交
net/http
5、 文件上传