这是我参加字节后端训练营的笔记,这一篇主要是先来写写Go语言的一些基础最基础的语法,既作为自己的笔记,又可以作为文档后面需要时进行查询和阅读。
值
就像其他语言比如C语言一样,Go也拥有多种值的类型,常见的比如字符串、整型、浮点型、布尔型等,并且字符串通过 + 直接进行连接,举个简单的例子:
package main
import "fmt"
func main() {
fmt.Println("fu" + "shuling")
fmt.Println("1+1 =", 1+1)
fmt.Println("7.0/3.0 =", 7.0/3.0)
fmt.Println(true && false)
fmt.Println(true || false)
fmt.Println(!true)
}
输出结果:
fushuling
1+1 = 2
7.0/3.0 = 2.3333333333333335
false
true
false
可以看到这里我们直接拼接了字符串fu与shuling然后打印了fushuling,这种python特性在golang中同样存在,然后我们打印了1+1与7.0/3.0,因为进行运算的值的属性不同,所以打印的值也不同,然后我们进行了一些常见的布尔操作。
变量
在Go语言中,变量需要显式声明,并且在函数调用的情况下,编译器也会对其类型进行检验,因此不能像python一样一个声明一直用。
package main
import "fmt"
func main() {
var a = "initial"
fmt.Println(a)
var b, c int = 1, 2
fmt.Println(b, c)
var d = true
fmt.Println(d)
var e int
fmt.Println(e)
f := "short"
fmt.Println(f)
}
输出为
initial
1 2
true
0
short
在go语言中,我们可以一次声明一个或多个变量,Go语言会自动判断已有初始变量的类型,比如var a = initial,Go语言就会直接帮我们判断出来这是一个字符串而不用指明它的类型,如果我们需要指明类型的话,形式为var 变量名 变量类型,如var b, c int = 1, 2。如果我们声明一个变量却没有给出对应的初始值,那么它的初始值就默认为零。同时,我们可以使用:=进行变量的声明,这属于一种声明的简化形式,在平时写代码中非常常见,比如var f string = "short我们就简写成了f := "short"
常量
Go支持字符、字符串、布尔和数值类型的常量。
package main
import (
"fmt"
"math"
)
const s string = "constant"
func main() {
fmt.Println(s)
const n = 500000000
const d = 3e20 / n
fmt.Println(d)
fmt.Println(int64(d))
fmt.Println(math.Sin(n))
}
输出为
constant
6e+11
600000000000
-0.28470407323754404
golang里我们使用const进行常量的声明,如const n = 500000000,同时const的语法与var类似,可以进行无缝衔接,出现在任何var语句可以出现的地方。同时常量表达式可以进行任何精度的运算,并且数值型常量没有确定的类型,直到给定类型才会进行转化。最后,一个数字可以根据上下文需要自动确定类型,非常方便,比如我们最后的例子里math.Sin 函数需要一个 float64 的参数,n 会自动确定类型。