学习代码第一步,学会如何输出hello word
在学习如何编译前的基本准备是配置好一个go环境和编译器,这里我选择了使用vscode,至于配置网上有很多这里提供微软给出的链接 为 Go 开发配置Visual Studio Code | Microsoft Learn
配置完成后我们就可以开始我们的hello world啦,创建个文件夹用来保存在青训营期间学习到的东西,这是我hello world的文件夹和相应程序代码
代码
package main
import "fmt"
func main() {
fmt.Println("hello,world")
}
接下来我们要如何运行这个代码,打开vscode终端
这样我们的hello world就输出出来了。
学习代码第二步,语法
变量
这里直接上代码吧,也不去过多的说明变量这块的东西了
package main
import (
"fmt"
"math"
)
func main() {
var a ="initial"
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 = 50000000
const i = 3e20/h
fmt.Println(s,h,i,math.Sin(h),math.Sin(i))
}
运行结果
基础语法
if else 语法
这边我们学习一下if else语法
package main
import (
"fmt"
)
func main() {
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 multiple digits")
}
}
运行结果:
for循环
接下来学习一下循环 只有for 循环,没有while循环和do while循环 这里也直接上代码
package main
import (
"fmt"
)
func main() {
i:=1
for {
fmt.Println("loop")
break
}
for j := 7; 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
}
}
让我们来看看它的运行结果吧
switch 语句
接下来我们学习一下switch 语句
package main
import (
"fmt"
"time"
)
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")
}
t:=time.Now()
switch{
case t.Hour()<12:
fmt.Println("It's before noon")
default:
fmt.Println("It's after noon")
}
}
我们来看看运行结果:
数组
接下来是学习有关数组的内容
package main
import (
"fmt"
)
func main() {
var a[5]int
a[4]=100
fmt.Println(a[4],len(a))
b:=[5]int{1,2,3,4,5}
fmt.Println(b)
var twoD [2][3]int
for i:=0;i<2;i++{
for j:=0;j<3;j++{
twoD[i][j]=i+j
}
}
fmt.Println("2d:",twoD)
}
我们来看看运行结果
在这里我把切片也归到数组这一块
package main
import (
"fmt"
)
func main() {
s:=make([]string,3)
s[0]="a"
s[1]="b"
s[2]="c"
fmt.Println("get:",s[2])
fmt.Println("len:",len(s))
s=append(s, "d")
s=append(s, "e","f")
fmt.Println(s)
c:=make([]string,len(s))
copy(c,s)
fmt.Println(c)
fmt.Println(s[2:5])
fmt.Println(s[:5])
fmt.Println(s[2:])
good:=[]string{"g","o","o","d"}
fmt.Println(good)
}
代码运行结果:
关于map的使用
例子:
package main
import "fmt"
func main() {
m := make(map[string]int)
m["one"] = 1
m["two"] = 2
fmt.Println(m)
fmt.Println(len(m))
fmt.Println(m["one"])
fmt.Println(m["unknow"])
r,ok :=m["unknow"]
fmt.Println(r,ok)
delete(m,"one")
m2:=map[string]int{"one":1,"two":2}
var m3=map[string]int {"one":1,"two":2}
fmt.Println(m2,m3)
}
运行结果:
range
例子:
package main
import "fmt"
func main() {
nums := []int{2, 3, 4}
sum := 0
for i, num := range nums {
sum += num
if num == 2 {
fmt.Println("index:", i, "num:", num)
}
}
fmt.Println(sum)
m := map[string]string{"a": "A", "b": "B"}
for k, v := range m {
fmt.Println(k, v)
}
for k := range m {
fmt.Println("key", k)
}
}
运行结果:
函数
例子:
package main
import "fmt"
func add(a int, b int) int {
return a + b
}
func add2(a, b int) int {
return a + b
}
func exists(m map[string]string, k string) (v string, ok bool) {
v, ok = m[k]
return v, ok
}
func main() {
res := add(1, 2)
fmt.Println(res)
v, ok := exists(map[string]string{"a": "A"}, "a")
fmt.Println(v, ok)
}
运行结果:
总结:
笔记先写下这部分,只是大致的跟着视频中的资料把代码全部敲打了一遍,整体内容感觉还不错就是讲解的速度太快了属于听一节课需要花费一些时间来进行敲代码一节课的时间花费会很长。但是视频内容还是不错的相比起来会比较适合已经有一定编程基础的人,讲师的速度还是偏快的,继续加油吧。