这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
主要内容
- 开发环境
- golang安装studygolang.com/dl
- goland安装包www.jetbrains.com/go/
- 基础语法
- 变量常量
- 变量var声明,常量const
- 自动类型推断:=,或者var i =
- 显示类型说明var i [类型] =
- 注意,变量似乎不能隐式类型转换,常量可以
- 选择&循环语句
- 类似C语言,但没有()括号
- 特殊为,for三段式可以省略部分(无则死循环),if后可以直接声明再判断
- swtich特殊:case自动break,省略则判断bool值
- array slice map range
- 数组var a [5]int
- 切片make([]类型,长度),参考python,不过没有step
- map,stl的map或者python的
- range类似for:循环,参考python
- 函数
- 参数后置(其他好像也都是这样)
- 可以返回多个值
- 指针
- 普通变量需要加&传入,加*修改
- 结构体传入需要加&,修改不用->,用.
- 结构体
- 字段常规
- 方法外部声明(只能?)
- 样例func (u user) checkPassword(password string) bool
- (u *user)即可修改
- 字符串
- import "strings"很多字符串本身方法
- import "strconv"很多字符串与其他类型的转换方法
- 格式化输出(输入好像一样?)
- %v所有量都能用,%+v%#v分别输出较多最多信息
- %特定也可
- 错误
- 函数返回值来传递错误
- panic(e)报错(猜的?)
- 常用库
- json处理
- JSON.marshaler序列化(百度翻译:封送处理器)
- JSON.unmarshaler反序列化
- 等等,详见配套样例代码
- 时间处理
- time.format
- time.parse
- 等等,见样例代码
- 字符串
- 见上面的字符串栏
- 进程信息
- os.Args参数
- os.Getenv("PATH")获取
- os.Setenv("AA", "BB")写入
- 详见样例
- json处理
- 变量常量
总结
今天大概学了一下,新的语言还是需要适应,感受到了golang的简洁和高效,以及功能的强大 三个小项目也增加的对知识的掌握 希望能了解更多