Go基础语法 | 青训营笔记

371 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

主要内容

  1. 开发环境
    1. golang安装studygolang.com/dl
    2. goland安装包www.jetbrains.com/go/
  2. 基础语法
    • 变量常量
      • 变量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")写入
        • 详见样例

总结

今天大概学了一下,新的语言还是需要适应,感受到了golang的简洁和高效,以及功能的强大 三个小项目也增加的对知识的掌握 希望能了解更多