Go
1.go的特点
开发效率高,天生并发,性能优于java和python。
没有“对象”,没有继承多态、泛型、try/ctach
有接口、函数是编程、CSP并发模型(goroutine+channel)
语法简单,学会适应,触类旁通。
2.安装
下载
环境变量配置
GOROOT下载go之后的安装目录。
GOPATH项目环境变量,go项目的工作目录,不设置的话有默认配置。
PATH环境变量将go安装目录下的bin文件夹写上,可执行的命令。
3.运行
go build:将src目录下的文件进行编译,生成.exe文件在当前src目录下,hello.exe就可以执行。
go build -o helloworld.exe指定编译后生成文件的名字。
go install:两步,先go build生成可执行文件,再将可执行文件移动到bin目录下。
go run hello.go:像脚本一样运行文件,不生成可执行文件
跨平台编译
在window开发,编译后到linux上运行
1。当前src目录下开启命令行
2.关闭cgo,因为cgo不支持跨平台编译。SET CGO_ENABLED=0
3.目标设置为linux,SET GOOS=linux
4.目标处理器架构SET GOARCH=amd64
5.都设置好之后,再go build hello.go,此时生成hello可执行文件,因为是linux的可执行文件,没有.exe后缀
想改回去,SET GOOS=windows即可。
4.静态语言
定义时必须声明数据类型,且不允许再改变变量的数据类型。
var name string 标准声明,先变量名,再变量类型。
同一作用域不允许重复声明,go支持类型推断,当赋值时可以推断出数据类型时,type可以省略
函数内可以短变量声明 name:="zhangsan" 不用var关键字。
声明的变量必须使用,否则报错,返回值确实不想用某个值,就用_表示忽略此值,也叫匿名变量。
匿名变量不占用内存,也不分配ns,所以不存在重复声明一说。
5.HelloWorld
package main import "fmt" //引入库 func main(){ //程序入口 fmt.Println("hello world") }