最初的开始:
一hello,world
后面vscode又出问题了,要检测go的路径是不是正确,需要windows powershell 输入go version,还有vscode的terminal输入go version,才能表明是安装成功。
至于路径,问chatgpt可以手动设置在vscode上的路径。
二/go语言的变量声明
①通过var name string = “”
var a =”initial“
var b =1
声明变量时 会自动去推导变量的类型(这一点不愧是高级语言,没错,c语言在点你),也可以写出变量类型。
var b =1,2
②变量 冒号:=等于值
三/go语言常量声明
把var改成const,c语言中也有这种写法
const s string =”constant”,它没有确定的类型,会根据使用的上下文来自动确定类型。
四/go语言里面的循环
if else
if后无括号把条件罩着,条件后要加大括号
while /do while 循环?
无while 循环,do while循环
只有for循环
switch 分支结构
c语言分支结构
#include <stdio.h>
int main() { int day = 3;
switch (day) {
case 1:
printf("星期一\\n");
break;
case 2:
printf("星期二\\n");
break;
case 3:
printf("星期三\\n");
break;
case 4:
printf("星期四\\n");
break;
case 5:
printf("星期五\\n");
break;
case 6:
case 7:
printf("周末\\n");
break;
default:
printf("无效的输入\\n");
break;
}
return 0;
}
在 C 语言中,switch 结构的每个 case 后面通常需要加上 break 语句,以避免“贯穿”到下一个 case。
golang分支结构
package main
import "fmt"
func main() { day := 3
switch day {
case 1:
fmt.Println("星期一")
case 2:
fmt.Println("星期二")
case 3:
fmt.Println("星期三")
case 4:
fmt.Println("星期四")
case 5:
fmt.Println("星期五")
case 6, 7:
fmt.Println("周末")
default:
fmt.Println("无效的输入")
}
}
golang不需要分支结构,自动终止
五/go lang 数组
var a [5] int是一个可以存放5个int元素的数组
很少用,一般用切片,因为数组长度固定难以变化
六/切片
切片可以任意更改长度,可用make来创建切片
s := make(【】string,3)\
成功
注意append用法,必须将append的结果赋值为原数组
不支持python拥有的负数指引
七/map
在其他编程语言(比如python),叫做哈希或者字典
map是实际使用过程中最频繁用到的数据结构
创建空map需要两种类型,一个是key,一个是value类型,前者可以是string,后者可以是value
m :=make(map[string]int)
这个make函数用得还挺多
m[”one”]=1
m[”two”]=2
八/range
range用于遍历map slice,range遍历时数组会返回两个值,一个是索引,一个是对应位置的值
九/函数
golang变量类型后置
十/指针
十一/结构体
十二/错误处理
在函数返回值类型里面,加一个error,retrun两个值,出现错误,return error 和一个nil,成功的话返回原本值和nil
十三/字符串操作
标准库中含有许多常见的字符串工具函数,需要可调用
字符串格式化:可以用%v来打印任意类型的变量,不需要区分类型(问:为什么不直接printlin这个f?)\
十四/JSON处理
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,主要用于在客户端和服务器之间传输数据。它使用一种易于人类阅读和书写的文本格式,同时也便于机器解析和生成。JSON 是一种键值对(key-value)的结构,类似于 Python 的字典或 JavaScript 的对象。
十四/时间处理
Time.now