-- 青训营第一天课程
先了解了go语言的特点:高性能、高并发,语法简单,上手难度低,丰富的标准库,还十分稳定,工具链完备。编译速度快,具有垃圾回收功能。
2.2 -基础语法 - 变量:
变量类型与其他语言一致,字符串是内置类型,可以用'+'来拼接。优先级与c++相似。 /变量声明方式/ 1. var 变量名 = value /自动推导出变量类型/ 2. var 变量名 类型 = value 3. 变量名 := value /根据value自动推断出变量类型/ /* 需要注意的是,:= 只能在函数内部使用,在函数外部只能使用 var 关键字。/ / 常量将var变成const即可*/
2.3 -if else 与c++相似 但区别在于 if后没有"()" 必须要有"{}"
2.4 - 循环 go语言只有for循环 当无条件时为死循环 /等同于while(1)/ 跟if else 与c++区别一致,不再赘叙
2.5 - switch 跟c++类似 但默认不需要berak 功能更强大 可以使用字符串和结构体
2.6 - 数组 类似但不常用 更多使用切片
2.7 - 切片 跟python相似/左闭右开/ 使用append时需赋值给原数组
2.8 - map /哈希或字典/ 与python相似 但完全无序 偏随机遍历 输出
2.9 - range 遍历数组时 会返回两个值 索引和对应位置的值 遍历map时 第一数字为key 第二个为 value
2.10 - 函数 基本返回多个值 第一个为返回结果 第二个为错误信息
2.11 - 指针 只用于 值传递和地址传递区分
2.12 - 结构体 与c++ 基本一致
2.13 - 结构体函数 与类成员函数相似
2.14 - 错误处理 使用返回值来返回错误信息
2.15 - 字符串操作 查阅即可
2.16 - 字符串格式化
println : 输出换行
printf :与c语言相似
%v可以输出任何类型变量
%+v 和 %#v 会更进一步打印信息
2.17 - JSON处理 可以将结构体数列化/首字母均为大写/
2.18 - 时间处理 time.now /获取当前时间/ time.date /构造一个时区/ .Sub() /两时间相减获得一个时间段/
2.19 - 数字解析 在strconv包中查看 2.20 - 进程信息
os.Args :查看当前进程
os.Getenv : 获取环境变量
os.Setenv : 设置环境变量
-- 3.1x -猜谜游戏 - 生成随机数 /出现疑问待解决/ 在使用goland进行随机数生成时在没有使用//rand.Seed(time.Now().UnixNano())代码时,仍为随机数,并非每次都是相同数字 初步认为是编译器自动进行处理,希望dalao指正
猜谜游戏后的内容没完全消化,后续再补写