01-Go命令与基础
2017-10-26 19:50
211 查看
什么是Go?
Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态的高效开之间拥有良好平衡点的一门编程语言。
Go的主要特点有哪些?
- 类型安全和内存安全
- 以非常直观和极低代价的方案实现高并发
- 高效的垃圾回收机制
- 快速编译(同时解决C语言中)
- 为多核计算机提供性能提升的方案
- UTF-8编码支持
Go存在的价值是什么?
Go在谷歌: 以软件工程为目的语言设计
Go环境变量
[chentiangang@Mac.local ~]$ go env GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" #交叉编译的架构 GOHOSTOS="darwin" #交叉编译的系统 GOOS="darwin" GOPATH="/Users/chentiangang/go" #工作目录 GORACE="" GOROOT="/usr/local/go" #安装目录 GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64" GCCGO="gccgo" CC="clang" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/ht/mz9p76vd0mq673ysl1hm0p7h0000gp/T/go-build286554756=/tmp/go-build -gno-record-gcc-switches -fno-common" CXX="clang++" CGO_ENABLED="1" PKG_CONFIG="pkg-config" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2"
Go命令
go get #获取远程包(需要提前安装git或hg) go run #直接运行程序 go build #测试编译,检查是否有编译错误 go fmt #格式化源码(部分IDE在保存时自动调用) go install #编译包文件并编译整个程序 go test #运行测试文件 godoc -http :8080 #查看文档
Go语言的Hello,world
package main import ( "fmt" ) func main() { fmt.Printf("Hello, world.") }
Go内置关键字(25个均为小写)
break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var
Go注释方法
- // 单行注释
- /* */ 多行注释
Go程序的一般结构: basic_structure.go
- Go程序是通过package来组织的(与python类似)
- 只有package名称为main的包可以包含main函数
- 一个可执行程序有且仅有一个main包
- 通过import关键字来进行常量的定义
- 通过在函数体外部使用var关键字来进行全局变量的声明与赋值
- 通过type关键字来进行结构(struct)或接口(interface)的声明
- 通过func关键字来进行函数的声明
// 当前程序的包名 package main //导入其它的包 import "fmt" // 常量的定义 const PI = 3.14 // 全局变量的声明与赋值 var name = "gopher" // 一般类型声明 type newType int // 结构的声明 type gopher struct{} // 接口的声明 type golang interface{} // 由 main函数作为程序入口点启动 func main() { Println("Hello world! 你好,世界!") }
Go导入package的方式
或者这样:
全局变量
一般类型
- 导入包之后,就可以使用格式
- 如果导入包之后未调用其中的函数或者类型将会报出编译错误:
imported and not used: "io"
package别名的使用
- 当使用第三方包时,包名可能会非常接近或者相同,此时就可以使用别名来进行区别和调用
省略调用
- 不建议使用,易混淆
- 不可以和别名同时使用
可见性规则
- Go语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包调用:
根据约定,函数名首字母小写即为private - 函数名首字母大写即为public
相关文章推荐
- Linux shell基础命令01
- 01:操作系统(centos,redhat):基础命令
- 01_VIM基础命令
- 基础01 dos命令
- Linux基础01 学会使用命令帮助
- GoWeb_01:GoWeb基础之mac上mysql安装
- Linux基础命令01(ls , cd,clear,cat等)
- Mysql - 01 mysql数据库基础命令
- ES6(01 基础 let和const命令)
- go基础——01(变量、常量、内置基本类型)
- Go命令基础之go run
- Go命令基础之go build
- Linux基础入门及系统管理01-shell三剑客之sed命令技巧讲解20
- 1.LINUX基础命令01
- Linux基础入门及系统管理01-Linux操作系统及常用命令04
- Linux基础入门及系统管理01-Linux文件管理类命令详解08
- Go编程基础—go常用命令
- linux基础命令入门01
- Linux-24-linux基础重要命令01(L005-06)