区块链学习 - Golang初始

系统: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)

Author

Ludis

Posted on

2018-01-11

Updated on

2018-02-13

Licensed under

Comments