系统:Ubuntu 16.0.4
安装
下载:https://golang.org/dl/ 下载linux对应的版本
解压:将源码解压至/usr/local
tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz
配置环境变量:export PATH=$PATH:/usr/local/go/bin
检测安装:go version
go env
HelloBlockChain
1 2 3 4 5 6 7 8 9 10 11 12
| cd $HOME mkdir golang && cd golang vi index.go
package main import "fmt" func main(){ fmt.Println("Hello Block Chain") } :wq
go run index.go
|
package 声明主程序包
import 导入第三方依赖包
func 申明函数
变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| var name [type] [=] [value]
var number int = 1 var str string = "I`m a string" var bools bool = true
// 显式指定变量类型时,后续不能修改为其他类型的值
var year,month,day
year,month,day = 2018,1,10
// 隐式声明变量时,会根据值自动设置类型,可以通过逗号同时给多个变量赋值
first := 1 second := 2
// 可以使用冒号加等号的简写方式申明变量,等同于隐式声明变量
var ( name = "ludis" age int = 18 height length )
// height = 18, length = 18 // 可以用枚举的方式声明多个不同类型的变量 // 当不给变量赋值时,默认继承前面第一个非空变量的值
|
常量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| 常量使用const声明
const WIDTH = 18 const Height int = 18
常量声明后不可修改值,其余属性与变量相同
const ( num = iota num1 num2 = 233 num3 num4 = iota )
// const在声明常量时必须为其赋值 // iota为特殊类型,从0开始,每申明一个变量,自身加一,其后未赋值的常量为等于iota // num = 0, num1 = 1, num2 = 233, num3 = 233, num4 = 4
如声明a-e分别为0-5,则可简写为: const ( a = iota b c d e )
|
fmt.Printf()
1 2 3 4 5 6 7 8 9 10 11 12
| var num int = 10
十进制:fmt.Printf("%d", num) 八进制:fmt.Printf("%o", num) 二进制:fmt.Printf("%b", num) 十六进制:fmt.Printf("%x", num) 显示地址:fmt.Printf("%v", &num)
// 十六进制通过`x`及`X`分别输出小写及大写格式,在`x`前附带#会输出十六进制标识`0x` // fmt.Println 及原生 println 输出值后自动换行,fmt.Print需手动换行,原生print方法输出后面带% // `\n`换行 `\t`空格 // const 声明的常量无法获得地址
|
go语言中,当引用的包或申明的变量未使用时会报错(厉害了老哥,不让浪费是好事233)