美女老师教你Golang从入门到精通腾讯课堂
【课程介绍】
Golang作为21世纪的C语言,凭借其简单和高效,如今已经被越来越多的人当成主力编程语言,并发是Golang最大的优势,本门课程将带你一起去探索Golang并发的奥秘,除此之外,你还能学到Golang的面向对象,最终实现一个可在生产环境使用的高性能的日志监控系统。相信完成这门课程之后,你一定也会爱上Golang这门语言!
【课程目录】
第1章: golang环境搭建 ) T7 _6 R8 @. Q7 ^* {
任务1: day01_01_简单介绍
任务2: day01_02_安装虚拟机VMware 6 M; c. I8 X; x. w0 n
任务3: day01_03_更新源
任务4: day01_04_设置中文环境&输入法
任务5: day01_05_golang环境搭建 % P3 B* ~. _6 M0 P; j2 {
+ m% @; J- D5 Y- M3 a: m9 Y/ P) J0 _’ A
第2章: Linux初识&Go初识 # n6 V1 D. Z’ X, U1 S7 N
任务6: day02_01_上节课回顾 : h3 b {7 A( G# O" b! P
任务7: day02_02_linux的目录结构 – l9 L. N’ h1 ~* ]% i
任务8: day02_03_ubuntu常用命令 9 [) a8 l4 u8 b5 W, D/ e
任务9: day02_04_搭建go环境 ; a( Q( ^% x1 P0 R$ r( Q
任务10: day02_05_helloworld程序 5 K/ v* Q; M) k/ M
任务11: day02_06_安装goland
任务12: day02_07_goland执行go程序 8 ~1 ~- N) I C- R/ F
任务13: day02_08_go初识 9 B* K( ?# O! W* M4 r: u4 i8 ]
任务14: day02_09_进制
任务15: day02_10_其他进制转为十进制 , M% w7 ^ f5 D0 Y/ q, q# T( X
任务16: day02_11_10进制转为其他进制&原反补码
任务17: day02_12_总结
* j! {: ~* Q! x- _7 [
第3章: 数据类型&运算符 % J( d! N7 Z% |: @7 I) x
任务18: day03_01_上节课回顾 6 c4 B, ] x3 O/ A* |" S+ X) d
任务19: day03_02_变量的使用
任务20: day03_03_常量的使用
任务21: day03_04_常量的练习
任务22: day03_05_数据类型 $ C3 ^1 F4 m3 f" ~4 A. Z: R
任务23: day03_06_字符串 2 t* a& H8 Z1 v. X9 C
任务24: day03_07_数据类型的转换
任务25: day03_08_运算符 * I D! \: ?( F1 y* R! r1 Q
任务26: day03_09_运算符 + P7 k! Y3 M: v) V" b0 z
任务27: day03_10_读取键盘输入 2 N9 |. ~4 `7 A" r; L
任务28: day03_11_总结 + A: }( Q$ Y# P
3 c( K1 k* A/ t- ?/ B2 ^: ?
第4章: 分支语句 8 B9 Z0 w’ j& [4 l: O
任务29: day04_01_上节课回顾&作业 4 i! l1 _& F) U8 M
任务30: day04_02_math包 $ ?* B5 ~# _4 A" g
任务31: day04_03_最简单的if语句
任务32: day04_04_ifelse语句
任务33: day04_05_if嵌套 ) p/ A’ ~; E, W, t) V
任务34: day04_06_if变形
任务35: day04_07_switch 5 y& m0 o. H8 _; M* S
任务36: day04_08_switch的其他用法
任务37: day04_09_break&fallthrough " N7 r8 H: n. Y! V# m& z& [
任务38: day04_10_for练习题 ‘ k8 w. j* ~/ {6 J
任务39: day04_11_for的其他写法
任务40: day04_12_随机数 1 P% q* A( o/ S! A( W! D7 @
任务41: day04_13_总结
2 f" @3 I8 d’ u8 `
第5章: 循环语句 5 ~0 A3 n! W& W9 B% v
任务42: day05_01_上节课回顾&作业 & w7 p% K: n’ `% S
任务43: day05_02_双层for循环 ) N( B7 f& x- m/ c
任务44: day05_03_双层for练习
任务45: day05_04_多层循环练习 d. o! F6 B’ c! m* ^
任务46: day05_05_break&continue
任务47: day05_06_多层循环嵌套使用break
任务48: day05_07_比较三个数
任务49: day05_08_总结和作业
# `+ L2 C9 L: n- f; h0 C1 s6 `
第6章: array&slice 1 f+ i$ a* \( f$ p’ x
任务50: day06_01_上节课回顾&作业 / p. a5 {* U3 z2 @& U6 Y’ t
任务51: day06_02_数组初识
任务52: day06_03_for..range
任务53: day06_04_数组的数据类型
任务54: day06_05_冒泡排序分析 * o9 _3 }1 c+ E3 j/ Y/ ^! K9 y" m
任务55: day06_06_排序代码 ( o8 u& h6 a% m4 c. G* q( Q
任务56: day06_07_二维数组
任务57: day06_08_切片 ) J, e4 T* B, r/ K- E
任务58: day06_09_切片的数据类型
任务59: day06_10_总结 7 i" b3 C8 v( D( j( \6 ?( E9 `
第7章: map&string
任务60: day07_01_上节课回顾&作业
任务61: day07_02_map初识 ( k, v9 P$ h0 l& t) k; b
任务62: day07_03_map结合slice ; U* a! o: j- z3 ~; u’ L’ D5 E
任务63: day07_04_有序遍历map
任务64: day07_05_map的数据类型 9 B’ B7 D’ l7 i* |9 ]7 ^
任务65: day07_06_string字符串
任务66: day07_07_strings包的常用方法
任务67: day07_08_字符串练习 – Y( r$ G8 `5 o’ K- N% X8 v: T- ]
任务68: day07_09_总结和作业 & J" x- ]# }7 s% O
第8章: function
任务69: day08_01_上节课回顾&作业 , V’ R/ C0 b& l/ F; M! I# @/ D/ ~. c
任务70: day08_02_函数初识 $ s+ T; A0 {% S S. {# v: e8 U! C
任务71: day08_03_函数的参数
任务72: day08_04_函数的返回值
任务73: day08_05_return关键字 ! {" N2 N’ B0 Y3 D$ H7 c# |
任务74: day08_06_变量作用域 4 {) h7 x8 Z( B6 t6 u C
任务75: day08_07_可变参数
任务76: day08_08_值传递&引用传递
任务77: day08_09_递归算法
任务78: day08_10_总结
第9章: pointer
任务79: day09_01_上节课回顾 3 q+ X9 E1 b’ ~/ c9 }3 w, n$ e
任务80: day09_02_函数的类型和本质
任务81: day09_03_匿名函数 / u2 ^, S+ W1 T6 R
任务82: day09_04_回调函数
任务83: day09_05_闭包
任务84: day09_06_defer函数
任务85: day09_07_defer练习题 , |4 Y- V2 D; V _3 Y
任务86: day09_08_pointer初识
任务87: day09_09_深浅拷贝 $ u2 b5 V7 J% h Y
任务88: day09_10_指针作为参数
任务89: day09_11_指针数组&数组指针
任务90: day09_12_指针函数&函数指针 % }2 @7 K+ @: t5 G, V. Z8 b7 `0 l
任务91: day09_13_总结
& r. b6 s. M6 ]( l# e
第10章: struct
任务92: day10_01_上节课回顾
任务93: day10_02_面向对象的思想 $ u0 ?5 f l" p’ z0 N% }% V# F, z5 `
任务94: day10_03_struct构建&对象创建
任务95: day10_04_struct的类型
任务96: day10_05_结构体作为返回值
任务97: day10_06_匿名结构体&匿名字段
任务98: day10_07_结构体嵌套
任务99: day10_08_结构体嵌套练习
任务100: day10_09_继承性 3 y z( I6 ]’ n& L8 x
任务101: day10_10_总结
第11章: interface
任务102: day11_01_上节课回顾&作业 ! C4 q1 F$ i- k9 g/ y# p
任务103: day11_02_方法的使用
任务104: day11_03_继承中的方法
任务105: day11_04_多态&对象转型
任务106: day11_04_接口
任务107: day11_05_空接口
任务108: day11_06_error错误 ) V: G+ m+ V; f
任务109: day11_07_自定义错误
任务110: day11_08_总结和作业 + o( `: F1 b3 y% G; v+ N
& z7 W+ p* {5 \ Z+ V* y
第12章: io
任务111: day12_01_上节课回顾&作业 0 h6 @4 S4 u& P6 J+ {8 V
任务112: day12_02_panic&recover
任务113: day12_03_time日期时间 ; C* {5 Q0 c* C. n* P: i. f( D
任务114: day12_04_文件的常规操作 ) { m# W% j" u/ V( N) Z
任务115: day12_05_文件读取 4 c1 a5 ]. T* |* M! t
任务116: day12_06_复制文件 & e8 ~; I, z/ U1 i’ F; v
任务117: day12_07_seek
任务118: day12_08_其他包
任务119: day12_09_总结
第13章: 并发 5 l, r" [5 }" N$ Y2 z1 v
任务120: day13_01_上节课回顾 , }4 Y% }3 `) p# Z# g# p0 F! v
任务121: day13_02_作业 9 M( o3 Q7 w1 X! {, s
任务122: day13_03_并发的概念
任务123: day13_04_goroutine
任务124: day13_05_go练习 + b: K6 y5 g% F’ w0 F
任务125: day13_05_runtime
任务126: day13_06_channel / x- V) l) h6 q% Y
任务127: day13_07_chan的阻塞
任务128: day13_08_关闭通道 7 K5 J- ]% L* J
任务129: day13_09_for..range
任务130: day13_10_总结
任务131: day14_01_上节课回顾
任务132: day14_02_缓冲通道 * X, L0 b5 ^0 k+ Y- R6 y7 }
任务133: day14_03_练习题
任务134: day14_04_定向通道 6 S/ w# B4 r2 ?) F4 k! e: U
任务135: day14_05_注意点
任务136: day14_06_time包 ) h4 L8 R+ a/ ` ^# B
任务137: day14_07_select语句
任务138: day14_08_select练习
任务139: day14_09_waitgroup ; D6 B6 u6 \" e
任务140: day14_10_共享数据安全问题
任务141: day14_11_互斥锁 6 W4 p8 e5 t3 B
任务142: day14_12_总结
任务143: day15_01_上节课回顾
任务144: day15_02_读写锁 + ]. g/ R% r! N3 [‘ C9 w9 u
任务145: day15_03_并发操作map
任务146: day15_04_条件变量 , J6 X: c1 U _8 B" {
任务147: day15_05_sync的其他操作 2