1.3 字节跳动为什么全面拥抱Go语言
- 最早使用的 Python,由于性能问题换成了Go。
- C++不太适合在线Web业务
- 早起团队非Java背景
- 性能较好
- 部署简单、学习成本低
- 内部 RPC 和 HTTP 框架的推广
2. 基础语法
2.1 第一个hello Golang文件
package main //入口包
import (
"fmt" //导入标准库里的fmt包 主要控制字符串的格式化输入输出
)
func main() {
fmt.Println("hello Golang!")
}
2.2 基础语法
Go语言里面变量常量的声明------------Go语言是一种强类型语言
变量举例:通过var声明变量/通过 := 来声明变量
var a = "initial" //字符串 go语言会自动检测声明的变量的类型
var b, c int = 1, 2//整形 通过加上类型名来指定声明的变量
var d = true//布尔型
var e float64//浮点型
f := float32(e)//声明变量(对变量赋值)
g := a + "fop" //在go语言中字符串可以做拼接运算
常量举例:通过 const 来声明常量
go里面的常量不用确定类型,他会根据上下文自动确定类型。
const s string = "constant" //字符串常量
const h = 500000 //整形数字常量
const i = 3e20 / h //常量
if - else 写法
Golang里面条件判断语句的写法和C和C++很类似,不同点为golang里面没有中括号包含条件。
if 7%2 == 0 {
fmt.Println("7 is even")
} else {
fmt.Println("7 is odd")
}
if num := 9; num < 0 {
fmt.Println(num, "is negative")
} else if num < 10 {
fmt.Println(num, "has 1 digit")
} else {
fmt.Println(num, "has multiple digits")
}
注意:Golang不能像C或者C++一样把if语句的条件和执行语句写在同一行
Golang里面的循环
Golang语言里只有一个for循环,没有while/do while循环等。
for { //for后面什么条件都不写,则为一个死循环,作用和 while(1)一样
fmt.Println("loop")
break
}
for j := 7; j < 9; j++ {
fmt.Println(j)
}
//与C和C++一样,循环判断条件三个中任意一个可以省略。
for n := 0; n < 5; n++ {
if n%2 == 0 {
continue //在Golang里面也可以使用continue继续循环 和 break 跳出循环
}
fmt.Println(n)
}