Go语言入门 | 青训营笔记

108 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记 记录一下两节课对go语言学习的内容和遇到的问题

一:基本语法

1.变量

var a = "initial"

var b, c int = 1, 2

var d = true

var e float64

go与c的区别还是挺大的,go有内置的字符串类型,而且定义变量的方式也是与c区别挺大的,go在声明一个变量时是先起名后给数据类型。

2.花括号的使用方法

go中规定if,for等后接花括号时需要是左花括号与iffor同一行,不能另起一行。

3.切片

s := make([]string, 3)

s[0] = "a"

s[1] = "b"

s[2] = "c"

fmt.Println("get:", s[2]) // c

fmt.Println("len:", len(s)) // 3

4.map

m := make(map[string]int)

m["one"] = 1

m["two"] = 2

fmt.Println(m) // map[one:1 two:2]

5.strconv

可以将数字转字符串,也可以将字符串转数字 f, _ := strconv.ParseFloat("1.234", 64)

fmt.Println(f) // 1.234

n, _ := strconv.ParseInt("111", 10, 64)

fmt.Println(n) // 111

n, _ = strconv.ParseInt("0x1000", 0, 64)

fmt.Println(n) // 4096

二:项目及遇到的问题

1.猜数字

当开始使用vs遇到的问题是

image.png

然后换了Goland,出现的问题是

image.png

这里出现的问题是字符串转化成数字时出错了,然后把guess转化为0,但是返回的err不等于nil,表示转化有误。然后问了组队的小伙伴,他们也遇到相同的问题,然后找的问题出现在

input = strings.TrimSuffix(input, "\n")
input = strings.TrimSuffix(input, "\r\n")

在输入字符串时可能包括了回车和空格两个字符,而第一行代码只是确定了回车,所以转化的字符串多了一个空格。

image.png

2.项目实践

这次遇到的问题是连接数据库时密码输入错误导致连接失败

image.png

image.png 需要将密码改为数据库的密码,然后就可以连接

然后在终端执行 curl http://localhost:8080/community/page/get/1 //使用当地数据库

总结一下,刚开始接触go还是存在太多问题了,不过可以通过群里的讨论解决大部分遇到的问题感觉收获挺多的。