5.13笔记

95 阅读2分钟

1.3 字节跳动为什么全面拥抱Go语言

  1. 最早使用的 Python,由于性能问题换成了Go。
  2. C++不太适合在线Web业务
  3. 早起团队非Java背景
  4. 性能较好
  5. 部署简单、学习成本低
  6. 内部 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)
}
​

总结:语法与C和C++很类似,但又有几点小不同,要注意区分。