Go语言基础学习计划

基础入门学习计划(每天一小时)

文档参考

  • Go by Example
  • go语言实战博客(需要基础)

第一周

环境搭建

基本数据

  • 变量
  • 常量

  • 作业1:请编写一个完整的go语言程序,其中包含加减乘除四种运算,并输出浮点型,整型两种结果。

  • 作业2:使用math/random生成10个小于100的随机整数、随机浮点数

分支

  • if/else
  • for
  • switch

  • 作业1:判断1-100之间有多少个素数,并输出

  • 作业2:打印出100-999中所有的”水仙花数” (‘水仙花数’ 是指一个三位数,其各位数字立方和等于该数本身);例如:153 是一个”水仙花数”,因为 153=1^3+5^3+3^3
  • 作业3:对于一个数n,求n的阶乘之和;即: 1! + 2! + 3! + … + n!

Golang的包管理

数据的集合

  • 数组 进阶阅读: Go数组
  • 切片 进阶阅读: Go切片
  • map 进阶阅读: Go MAP
  • range遍历

函数

  • 函数
  • 多返回值
  • 多参函数
  • 闭包(选学)
  • 递归(选学)

字符串处理

  • 字符串函数(strings)
    • strings.HasPrefix(s string, prefix string) -> bool
    • strings.HasSuffix(s string, suffix string) -> bool
    • strings.Index(s string, str string) -> int
    • strings.LastIndex(s string, str string) -> int
    • strings.Replace(str string, old string, new string, n int)
    • strings.Count(str string, substr string) -> int
    • strings.Repeat(str string, count int) -> string
    • strings.ToLower(str string) -> string
    • string.ToUpper(str string) -> string
    • strings.TrimSpace(str string)
    • strings.Trim(str string, cut string)
    • strings.TrimLeft(str string, cut string)
    • strings.TrimRight(str string, cut string)
    • strings.Field(str string)
  • 字符串格式化
  • 数字解析

第一周实战

  • 查询系统IP列表(exec包的应用)

第二周

包和函数

  • 随机数
  • URL解析
  • MD5练习
  • Base64编码

指针和结构体

  • Go的指针
  • 结构体
  • 结构体方法
  • 接口(选学)
  • 标识符的可见性

时间

  • JSON
  • 时间
  • 时间戳
  • 时间的格式化和解析

文件

  • 读文件
  • 写文件

系统

  • 系统命令调用
  • 命令行参数解析
  • 命令行标志(flag包)

第二周实战

  • 解析项目的配置文件(json格式)
  • 解析输入参数(如 go run main.go -c “bravo” -> “hello bravo”)

第三周

错误处理

  • panic
  • defer

行过滤

  • 行过滤器
  • 环境变量

Go的包管理

SQL学习

  • database.sql包

排序

  • sort包
  • 使用函数自定义排序

第三周实战

  • 输入源的增删改查

第四周

信号

  • 信号
  • 退出

通道

  • goroutine
  • 通道
  • 缓冲的通道
  • 通道方向

http包的学习

你可能感兴趣的:(nodejs)