扫码支付

购买商品:
商品价格:

价格读取中

支付方式:
微信

请扫码进行支付

支付宝

请扫码进行支付

二维码已过期,请点击刷新

  • 课程> 编程语言> Go语言
  • Go语言编程入门

  • 由百度云提供技术支持
    课程目录
    第一章:入门介绍
    • 1. 课程介绍 (免费)
    • 4:29
    • 2. 追本溯源 (免费)
    • 8:19
    • 3. 语言特性和优缺点 (免费)
    • 10:15
    • 4. 发展前景 (免费)
    • 8:18
    • 5. 学习建议 (免费)
    • 5:47
    第二章:搭建开发环境
    • 1. 课程介绍 (免费)
    • 1:24
    • 2. 安装SDK (免费)
    • 3:44
    • 3. 配置环境变量 (免费)
    • 4:57
    • 4. 开发工具 (免费)
    • 4:50
    • 5. Windows搭建开发环境演示 (免费)
    • 8:30
    • 6. Linux搭建开发环境演示 (免费)
    • 5:59
    • 7. Mac搭建开发环境演示 (免费)
    • 5:16
    第三章:小试牛刀
    • 1. 首个Go程序 (免费)
    • 5:30
    • 2. 代码简单说明 (免费)
    • 11:26
    • 3. go程序常用命令 (免费)
    • 2:19
    • 4. go build命令说明 (免费)
    • 7:56
    • 5. go install命令说明 (免费)
    • 6:40
    • 6. go doc命令说明 (免费)
    • 4:03
    • 7. 其他3个常用命令 (免费)
    • 13:16
    第四章:程序结构
    • 1. 标识符 (免费)
    • 4:46
    • 2. 声明 (免费)
    • 3:43
    • 3. 变量 (免费)
    • 5:07
    • 4. 赋值 (免费)
    • 18:14
    • 5. 注释 (免费)
    • 3:38
    第五章:基本类型
    • 1. 整型 (免费)
    • 8:14
    • 2. 浮点型 (免费)
    • 6:20
    • 3. 字符串 (免费)
    • 11:19
    • 4. 布尔型 (免费)
    • 3:05
    • 5. 复数 (免费)
    • 2:43
    第六章:补充
    • 1. 常量 (免费)
    • 6:20
    • 2. 批量声明和iota关键字
    • 11:15
    • 3. 作用域
    • 5:34
    • 4. 转义符
    • 11:05
    • 5. 原生字符串
    • 3:25
    • 6. 算术运算
    • 9:52
    • 7. 算术运算提醒
    • 3:40
    • 8. 位运算
    • 17:08
    • 9. 比较运算
    • 7:15
    • 10. 逻辑运算
    • 4:46
    • 11. 类型转换
    • 7:40
    • 12. 声明类型
    • 6:53
    • 13. 占位符
    • 4:21
    • 14. 指针
    • 8:41
    • 15. 指针注意事项
    • 10:42
    第七章:复合类型
    • 1. 复合类型介绍
    • 1:32
    • 2. 数组
    • 11:54
    • 3. 访问数组元素
    • 6:05
    • 4. 指针和数组
    • 5:17
    • 5. 多维数组
    • 5:59
    • 6. 数组的比较
    • 6:16
    • 7. 初始化数组的高级语法
    • 4:03
    • 8. 切片
    • 6:49
    • 9. 切片初始化
    • 14:11
    • 10. make函数创建切片
    • 7:17
    • 11. 切片不支持比较
    • 2:51
    • 12. 切片追加元素
    • 7:47
    • 13. 复制切片
    • 5:49
    • 14. 切片补充
    • 8:24
    • 15. 映射
    • 9:01
    • 16. 初始化映射
    • 6:03
    • 17. 访问映射
    • 7:47
    • 18. 映射其他操作
    • 8:10
    • 19. 映射的丰富值类型
    • 8:31
    • 20. 结构体
    • 7:10
    • 21. 声明和访问结构体
    • 8:54
    • 22. 初始化结构体
    • 3:40
    • 23. 结构体支持比较
    • 2:51
    • 24. 嵌套和匿名访问
    • 7:21
    • 25. 结构体指针的妙用
    • 5:15
    第八章:控制结构
    • 1. 条件判断 (免费)
    • 12:14
    • 2. 多条件分支 (免费)
    • 10:55
    • 3. 循环 (免费)
    • 17:47
    • 4. 跳转 (免费)
    • 10:40
    第九章:函数
    • 1. 函数介绍
    • 12:15
    • 2. 指针的妙用
    • 8:33
    • 3. 可变参数
    • 7:33
    • 4. 延迟执行
    • 11:29
    • 5. 函数递归
    • 8:34
    • 6. 函数也是类型
    • 4:38
    • 7. 匿名函数
    • 4:58
    第一十章:方法
    • 1. 方法声明
    • 9:35
    • 2. 指针和方法
    • 6:54
    • 3. 结构体嵌入和方法
    • 14:16
    • 4. 方法表达式
    • 4:26
    • 5. 方法补充
    • 10:00
    第一十一章:接口
    • 1. 接口介绍
    • 7:39
    • 2. 接口内嵌
    • 9:32
    • 3. 接口转换
    • 4:23
    • 4. 接口值
    • 6:10
    • 5. 类型断言 (免费)
    • 5:07
    • 6. 类型分支
    • 4:51
    • 7. 接口和指针
    • 9:29
    • 8. 接口作为函数参数和返回值
    • 5:00
    • 9. 错误
    • 7:20
    第一十二章:并发
    • 1. 并发介绍
    • 4:56
    • 2. Go程
    • 10:48
    • 3. 信道
    • 8:43
    • 4. 无缓冲信道
    • 9:30
    • 5. 缓冲信道
    • 10:42
    • 6. 关闭信道
    • 6:31
    • 7. 接收操作
    • 8:46
    • 8. 管道
    • 4:51
    • 9. 单向信道
    • 9:02
    • 10. 多路复用
    • 9:19
    • 11. 恐慌
    • 6:47
    • 12. 恢复
    • 8:49
    第一十三章:包
    • 1. 包简介
    • 3:04
    • 2. 包声明
    • 5:52
    • 3. 包导入
    • 15:11
    • 【课程类型】技术教程 【难度级别】高级 【适合人群】所有人
    • 【课程介绍】
      主要介绍Go语言相关的介绍和基础语法,学会开发环境的搭建和使用Go语言简单的编程。本视频教程适合Go语言初学者。
    • 【课程目标】
      第1章内容主要叙述了Go语言的发展历史和现状,以及语言自身特性,同时也说明了学习使用它的优缺点和建议。 第2章内容介绍如何搭建一套Go语言的开发环境用于学习测试。 之后章节内容主要讲解Go语言的基础语法和一些注意事项。
    • 【课程计划】
      6月前课程结束。

    第一章:入门介绍
    1 课程介绍
    4:29
    从当前最火的Docker引言至Go语言。
    2 追本溯源
    8:19
    介绍Go语言产生的背景原因和吸收的其它语言的理念。
    介绍了Go语言的特性以及吸引人的优点,同时也罗列了它的不足之处。
    4 发展前景
    8:18
    介绍了Go语言目前的发展现状和学习使用Go语言编程的前景。
    5 学习建议
    5:47
    根据自己学习使用的过往经验,给广大Go语言新人提供一些建议作为参考。

    第二章:搭建开发环境
    1 课程介绍
    1:24
    搭建Go语言开发环境章节内容简单说明。
    2 安装SDK
    3:44
    简单介绍选择安装SDK包的注意事项,需要根据系统类型和架构下载对应的Go语言SDK版本。
    介绍了不同系统Go语言环境变量配置的区别。
    4 开发工具
    4:50
    介绍了目前常用的支持Go语言编程的开发工具,给Go学者提供参考。
    演示Windows系统下如何搭建我们自己的Go语言开发环境,包括SDK下载安装、配置系统环境变量、安装Visual Studio Code编辑器。
    使用Deepin深度系统做Linux搭建Go语言开发环境演示的讲解参考。
    使用Mac电脑的Go语言学者也可以通过学习该视频学会搭建Go语言开发环境。

    第三章:小试牛刀
    先来段简单的Go代码压压惊,编译运行Go程序是多么令人兴奋的一件事。
    对我们上节课编写的首段代码的简单说明,包括一些注意事项,特别是新手常犯的一个错误,左花括号单独新起一行,这是Go语言不允许的。
    SDK中的go程序是经常使用的程序,拥有各种功能,我们先列出一些常用的命令选项。
    go build操作演示和注意事项。
    go install编译生成二进制文件或者库文件并存放到对应的目录下。
    使用go doc可以查看各种文档,或者直接使用godoc程序实现web页面查看文档手册。
    run/get/fmt三个常用命令说明

    第四章:程序结构
    1 标识符
    4:46
    标识符就是Go源码中的各种对象用于我们方便访问并做各种操作,和各种符号最终组成了Go程序。
    2 声明
    3:43
    声明各种类型的标识符以备程序后续步骤调用访问和操作。
    3 变量
    5:07
    前期课程先说变量,需要注意,变量的声明语法格式和其他语言稍有不同,变量类型在变量名之后,并且会初始化零值。
    4 赋值
    18:14
    声明变量之后,有可能我们并不希望使用声明时Go语言自动初始化的零值,此时可以使用赋值操作。或者使用变量存储一段经过复杂运算后的最终结果。
    5 注释
    3:38
    一般建议在包和函数之前添加注释,同一个包只需在一个源文件中添加注释即可。

    第五章:基本类型
    1 整型
    8:14
    整数类型是我们最常用的基本数据类型,按照占用位数又可以细分成各种具体类型。
    2 浮点型
    6:20
    float64提供了更高的精度,编写程序时尽量使用64位的float64类型。
    3 字符串
    11:19
    Go语言中的字符串和其他语言有相同之处,也有令人感到比较奇葩的地方,特别让人困惑,需要Go学者注意。
    4 布尔型
    3:05
    用于判断条件的真假,只有两种值,true或false。
    5 复数
    2:43
    数学学科专用类型,一般用的比较少。

    第六章:补充
    1 常量
    6:20
    常量用于保存我们不变的值
    常量和变量可以利用小括号()批量声明,常量还可以使用iota自增器声明
    3 作用域
    5:34
    申明的标识符决定了该标识符所代表对象的访问顺序和范围。
    4 转义符
    11:05
    可以通过转义符和符号的连用实现特殊字符的可视化。
    两个反引号`输入的内容可以原样输出,即使遇到转义字符。
    6 算术运算
    9:52
    每种基础数据类型支持的运算不一样,区别于其它语言的一个不同之处,整型不支持前缀自增和前缀自减,只有后缀自增和后缀自减运算,并且是单独语句,编写代码时必须单独成行。
    和其它编程语言的另外一个很大不同点,二元运算符两边的数据类型必须是完全一致的具体数据类型,否则报错。
    8 位运算
    17:08
    位运算实现二进制表示形式的运算操作。
    9 比较运算
    7:15
    比较两个基本数据类型的大小或是否相等,结果为布尔值true或false。
    10 逻辑运算
    4:46
    对表达式结果为布尔型值再做运算返回一个新的布尔型值。
    11 类型转换
    7:40
    Go语言默认不支持隐式数据类型转换,此时若想使用新的数据类型保存原有类型值,则可以使用强制显示转换,但有可能面临精度丢失的问题。
    12 声明类型
    6:53
    声明一个新的类型包装原有的数据类型或结构,可以提高代码的复用和可读性,降低程序的复杂度,提高程序的开发效率。
    13 占位符
    4:21
    下划线_占位符起到忽略引用表达式中不需要的返回值。
    14 指针
    8:41
    Go语言保留了C和C++的指针,但是有所相同之处也有不同之处。
    Go语言指针很强大,但是很安全,不能指向常量或文字,也不支持C和C++中的指针运算。

    第七章:复合类型
    本章节课程内容介绍,主要有数组、切片、映射、结构体4种复合类型。
    2 数组
    11:54
    介绍声明数组的几种语法,包括初始化。
    可以通过索引下标的方式来访问数组元素值。
    通过声明一个指向数组的指针也可以实现访问数组,并且开销更小。
    5 多维数组
    5:59
    Go语言也支持多维数组,简单介绍了多维数组的声明和初始化。
    两个数组相等,必须是数组长度相等,数组的类型相同,数组的每个元素值相等。否则不相等。
    可以初始化数组时直接指定某个索引下标的元素赋值。
    8 切片
    6:49
    第2种复合数据类型切片介绍,以及它的声明语法。
    9 切片初始化
    14:11
    切片直接引用数组,可以只包含数组部分或全部元素初始化。
    Go语言内置make函数也可创建切片,创建时可以指定长度和容量,其他操作方式与普通声明切片一样。也演示说明了与普通声明的不同之处。
    切片和数组的一大不同点之一在于数组支持比较是否相等不等,而切片不支持,否则直接报错。
    内置的append函数可以方便的给切片添加元素,即使容量不够存放新元素,切片能自动扩展容量。
    13 复制切片
    5:49
    内置copy函数支持复制切片功能,相对用的比较少。
    14 切片补充
    8:24
    切片的一些补充说明和注意事项。
    15 映射
    9:01
    映射(map)类型对应其他编程语言的哈希表或者字典、关联数组等概念,本节介绍了声明映射和使用make创建一个映射的语法。
    16 初始化映射
    6:03
    介绍了两种初始化映射的方法。
    17 访问映射
    7:47
    读取映射内部的键值对方法和数组、切片有类似之处。
    映射键值对支持各种运算,取决于值类型,并且可以通过内置delete函数删除键值对,len函数可以查询已有的键值对总数。映射不支持比较。
    映射的值类型不仅支持基础数据类型,数组、切片甚至也是映射都可以,还包括结构体、函数、接口,以及我们自定义的类型。
    20 结构体
    7:10
    介绍了结构体的定义和声明结构体类型变量的语法。
    结构体支持指针,变量或指针变量通过.点号可以直接读写结构体成员值。
    介绍了初始化结构体变量的两种字面值方法。
    必须是结构体的每个成员的数据类型都支持比较,才可以使用==和!=比较操作运算。
    像继承一样实现访问嵌套的匿名结构体成员。
    结构体不能包含自身,但可以使用指针实现链表、树等复杂的数据结构。

    第八章:控制结构
    1 条件判断
    12:14
    if-else if-else实现条件判断执行
    2 多条件分支
    10:55
    Go语言的switch非常灵活强大,不再只能使用固定值做分支判断执行,可以使用比较运算和逻辑运算混合组成的语句。
    3 循环
    17:47
    Go语言只有for关键字做循环操作,没有while和do-while。
    4 跳转
    10:40
    调用标签可以实现代码的跳转,特别是面对多层嵌套循环的时候,若想跳出多层循环,可以借助break、continue以及goto和标签。

    第九章:函数
    1 函数介绍
    12:15
    介绍Go语言函数的一些基本知识点。
    通过传地址给指针,可以实现修改实参变量值,同时可以减小传值拷贝的巨大资源开销。
    3 可变参数
    7:33
    传递函数多个不知道具体数目的同类型参数时,可以使用可变参数实现。
    4 延迟执行
    11:29
    defer用于延迟执行功能,主要为了释放创建的各种资源,如打开文件、数据库连接等等。
    5 函数递归
    8:34
    函数内部语句调用自身称函数递归。
    Go语言中,函数也作为类型使用,可以声明一个函数类型变量或者将已声明的函数赋值给某个变量。
    7 匿名函数
    4:58
    函数声明中虽然不支持嵌套新声明函数,但支持嵌套声明匿名函数和调用。

    第一十章:方法
    1 方法声明
    9:35
    方法是与类型绑定的函数,不同类型可以有同名方法。
    声明方法时,接收器仍然可以使用指针接收原始值,从而达到修改原始值或者减小传值拷贝内存使用量。
    结构体嵌入匿名结构体成员时,调用外层结构体类型方法先检查是否有外层方法,如无则从上至下检查匿名结构体是否有同名方法,需注意多个匿名结构体同名方法歧义型。
    方法也可以直接赋值给某个变量,调用方法和调用函数的方式一致,只需添加参数列表即可。
    5 方法补充
    10:00
    1.内嵌匿名结构体为指针类型时只需使用取地址符&传地址即可,其余代码依旧。 2.任何类型别名都可声明方法,不仅仅结构体类型。

    第一十一章:接口
    1 接口介绍
    7:39
    接口是拥有多个空方法的集合,无成员,可以存储各种类型数据,只需类型实现了接口中的所有方法即隐式实现了接口。
    2 接口内嵌
    9:32
    接口支持嵌入其它接口,我们称此为接口内嵌,外层接口等于拥有了所有内层接口的所有方法。 同时Go语言支持常规和内嵌的混用声明接口类型。
    3 接口转换
    4:23
    拥有更多方法的接口可以转换成只有共同部分方法的接口,反之则不允许。
    4 接口值
    6:10
    接口值保存了数据类型名和具体值。关键点:空接口由于可以保存任何数据类型,所以经常被使用。
    5 类型断言
    5:07
    检查接口类型变量是否属于某种具体类型,结合if条件判断是否执行后续语句。
    6 类型分支
    4:51
    switch分支语句结合type实现更加清晰分明的接口变量具体类型检查判断。
    接口值方法调用时也是按值拷贝,通过修改实现接口的类型的方法,声明其接收器为指针类型,仍旧可以修改接口值本身。
    接口也可以像其它具体类型一样作为函数的参数,函数也可以返回接口值。
    9 错误
    7:20
    Go语言将错误作为类型处理,使用error关键字代表错误,其本质就是只包含一个Error() string 方法的接口。

    第一十二章:并发
    1 并发介绍
    4:56
    Go语言主要使用Go程(goroutine)和信道(channel)来编写并发程序,开发效率和执行效率都令人满意,这也是Go语言吸引人的最大亮点。
    2 Go程
    10:48
    Go程区别于进程、线程、协程等其它概念,是对应函数并发执行的单元,其初始分配栈空间大小远小于进程或线程等。
    3 信道
    8:43
    信道是Go程之间通信的常用手段。
    无缓冲信道是同步阻塞的,Go程必须等待信道的接收和发送操作都结束后才能执行后续代码。
    5 缓冲信道
    10:42
    缓冲信道,当信道为空时,接收操作阻塞;当信道已满时,发送操作阻塞;其它时候不阻塞。
    6 关闭信道
    6:31
    当我们不需要再向信道发送数据时可以使用close函数关闭信道。
    7 接收操作
    8:46
    对于信道,除了传统接收操作语法,还存在另种变形接收操作方式。同时还可以借助for和range实现依次读取信道中的数据。
    8 管道
    4:51
    依次串联的信道我们称管道。通过n个信道串联可以将n+1个Go程连接运行。
    9 单向信道
    9:02
    单向信道主要用于函数传参时可以限定信道是否只允许接收或发送操作。
    10 多路复用
    9:19
    借助select语句实现多路复用,当某个信道达到条件时立即执行case后的语句块。当多个case分支条件都满足时随机选择一个分支执行。
    11 恐慌
    6:47
    恐慌是运行时错误,内置panic函数可以人工引发恐慌。
    12 恢复
    8:49
    借助defer延迟执行语句和recover函数,可以使程序从恐慌恢复执行后续代码。

    第一十三章:包
    1 包简介
    3:04
    Go语言使用包来组织管理代码结构,对应Java中的包、C#中的命名空间等。
    2 包声明
    5:52
    包可以由多个源码文件构成,而每个源码文件只能声明属于一个包。
    3 包导入
    15:11
    包导入语句之后方能调用包级别可导出的全局变量、常量、自定义类型或函数。

    全部评价(0
    好评(0
    中评(0
    差评(0
    董松
    4课程66262学员
    拥有9年多的Linux运维工作经验,历任运维研发工程师、高级运维工程师、运维经理、运维架构师职务,经历过网站开发、游戏、服务和教育行业,擅长系统架构,喜好专研新技术和运维程序开发,追求完美。