这是我参与[第五届青训营]笔记创作活动的第1天 本文主要想对课堂上一些知识点进行记录总结。今天所学的是与go相关的基本知识。在学习过程中发现go在语法上和c++与python有许多相似之处,仅需注意一些微小改动,知识的迁移并不困难。
一、本堂课重点内容:
- 安装go和配置go的集成开发环境
- go的基本语法和基本特点
二、详细知识点介绍:
-
安装go和安装go的集成开发环境
go语言的安装可以直接在官网go.dev/或镜像https://… go的集成开发环境则可以是goland,vscode,或者是用GitHub进行线上的开发
2.go的基本语法和基本特点
基本特点
- 高性能、高并发
- 语法简单易上手
- 丰富的标准库
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台
- 垃圾回收
基本语法
- 变量声明
//变量声明一般有两种方式
var a = "initial"
var a int
//使用var声明
a := "initial"
//使用:=进行短变量声明
- 大括号
golang中和大括号相关的使用一般不需换行
func main(){//此处大括号不能换行
}
if a<b {
}else{
}
for {
}
- 数组与切片
var a [5]int
// 声明了长度为5的数组
a[1]=1
数组的长度固定,而切片与数组相比其长度是可变的,可对其追加元素
s := make([]string, 3)
s[0] = "a"
s[1] = "b"
s[2] = "c"
// 使用append在尾部添加元素
s = append(s, "d")
fmt.Println(s[2:5])
- 函数
func add(a int,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 (s *SUser) SearchQuestion(c context.Context, question string) {
}
还有匿名函数,变长函数等
go实战
实战部分有待补充