Golang快速入门

最近给策略同事介绍了一下golang的基础语法

总体语法

变量

初始化变量

count := 1
count = 2

foo := "hello"

rate := 1.0

使用:=初始化变量,go会自动推断变量类型。

var number int64
number = 100

var rate float64
rate = 0.88

指定变量类型初始化。

控制逻辑

if else

if distance > 1000 {
    logger.Info("xxxxx")
    return true
} else if distance > 100 {
    logger.Info("xxxxx")
    return true
} else {
    logger.Info("xxxxx")
    return false
}

go中的if后面不加括号

for

for i := 0; i < 100; i++ {
    ......
}

从1循环到100

数据结构

slice

类似C++中的vector

// 创建一个空slice
orderList := make([]int64, 0)
// 追加一个元素
orderList = append(orderList, 21948391392)
// 获取第一个元素
oid := orderList[0]
// 遍历
for idx, oid := range orderList {
    ...
}

需要注意,上面的idx是orderList下标,oid是slice中的值。类似python中的enumerate。

map

personAge := make(map[string]int64)
personMap["a"] = 18
personMap["b"] = 19

if personMap["a"] > personMap["b"] {
    ...
}

struct

type person struct {
    name string
    age  int
}

p := person{name: "a"}
p.age = 36
if p.age > 35 {
    ...
}

数学运算符

加减乘除

和你想象的一样。

+
-
*
/
%
++
--
==
!=
>
<
>=
<=
&&
||
!
&
|
^
<<
>>
+=
-=
......

更多样例