Go语言最主要的特性

自动垃圾回收
更丰富的内置类型
函数多返回值
错误处理
匿名函数和闭包
类型和接口
并发编程
反射
语言交互性

高性能/高效开发

安装

安装说明 地址

包下载 地址

确认是否安装成功

go version //查看版本

环境变量设置

整体目录结构

通过package组织,只有package名称为main的可以包含main函数

一个程序有且仅有一个main包

通过import 关键字导入其他非main包

bin/
    |- mathapp
pkg/
    |- 平台名
        |- xxx.a
src/
    |- mathapp
        |- main.go

Helloworld

package main //声明文件的package

import {
    "fmt" //import 包,不能包含没有用到的包,否则而编译错误
}
func main() { //入口函数, 无参数无返回值
    fmt.Println("hello world")
}

//运行
$go run hello.go

$go build hello.go
$./hello

go命令

用命令行查看

go help

go build 编译
go clean 移除当前源码包里面的编译生成文件
go fmt 格式化代码
go get 动态获取远程代码包
go install 生成结果文件,并将编译好的结果一到$GOPATH/pkg或者$GOPATH/bin
go test 运行测试用的可执行文件
go doc   godoc -http=:8080 查看文档

go fix 修复以前老版本代码到新版本
go version查看当前版本
go env 查看当前go的环境变量
go list 列出当前所有安装package
go run 编译并运行go语言程序

调试

使用gdb进行调试, go语言内部已经内置了

list
break
delete
backtrace
info
print
whatis
next
continue
set variable

编辑器设置

vim

其他补充

注释

//单行
/* ----- */ 多行

import 多个包

import (
    "fmt"
    "os"
)

调用包里地函数

<packageName>.<Function>