这是我参与「第五届青训营」伴学笔记创作活动的第 1 天
前言
本文章记录了初学Go部分内容,记录了今天所学的部分知识
1.初识Go语言
1.1 什么是GO语言?
GO又称为Golang是由Google的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。而Go语言的优点具有高性能、高并发,语法简单、学习曲线平缓,丰富的工具链,支持跨平台以及垃圾回收。
1.2 安装Go
Go的安装可以前往Go官网下载,对于在windows环境下推荐使用msi安装,可以实现安装即开箱免去配置的烦恼。
1.2 IDE的选择
所谓工欲善其事必先利其器,在写出整洁且有可维护性的代码的前提下是需要优秀的IDE来帮助我们的开发。市面上主流的IDE是VSCode和Jetbrains GoLang。对于这两种IDE可以根据个人的使用情况选择。VSCode需要一些打一些插件才能到达理想的开发环境,对初学者来说可能并不友好,对于初学者我更加推荐使用的是GoLang。
2.入门Go语言
2.1 开始输出第一行Hello world,代表我学会这门语言了!
package main
import (
"fmt"
)
func main() {
fmt.Println("hello world")
}
在Golang中package Main是入口文件如果package不为main在IDE运行不了。在Go中如果想编译二进制可以用go命令进行编译。
2.2 变量的使用
package main
import (
"fmt"
"math"
)
func main() {
var a = "inital"
var b, c int = 1, 2
var d = true
var e float64
f := float32(e)
g := a + "foo"
fmt.Println(a, b, c, d, e, f)
fmt.Println(g)
const s string = "constant"
const h = 50000000000
const i = 3e20 / h
fmt.Println(s, h, i, math.Sin(h), math.Sin(i))
}
在GO中赋值主要有以上几种,需要注意的是const如果没有确定类型会根据上下文自动识别类型。
2.3 if else的使用
if 7%2 == 0 {
fmt.Println("7 is even")
} else {
fmt.Println("7 is odd")
}
if 8%4 == 0 {
fmt,Println("8 is divisible by 4")
}
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 mutiple digits")
}
对于if在Go中不能填写到同一行,必须添加大括号。 2.3 循环的使用
package main
import (
"fmt"
)
func main() {
i := 1
for {
fmt.Println("loop")
break
}
for j := 0; j < 9; j++ {
fmt.Println(j)
}
for n := 0; n < 5; n++ {
if n%2 == 0 {
continue
}
fmt.Println(n)
}
for i <= 3 {
fmt.Println(i)
i = i + 1
}
}
2.4Switch的使用
package main
import "fmt"
func main() {
a := 2
switch a {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
case 4, 5:
fmt.Println("four or five")
default:
fmt.Println("other")
}
}
引用参考
参考的部分内容来源于以下课程或网页: