2023年go语言初级

go初级课程涵盖基本语法、变量和数据类型、流程控制、函数、包管理,结构体,接口,错误处理,defer

77人学习

初级50课时2023/09/04更新

二维码下载学堂APP缓存视频离线看

moonfdd
    • 畅销套餐
    • 精选套餐
    • 人气套餐
    • 尊享套餐
    • 高薪套餐
  • 课程介绍
  • 课程大纲

适合人群:

Go初级课程适合各类学员: 1. 对Go语言完全零基础的学员,无论是否有编程经验; 2. 具备其他编程语言基础,希望转向Go语言的学员,能够快速掌握Go的语法和特性; 3. 具备一定Go语言基础的学员

你将会学到:

go初级课程涵盖基本语法、变量和数据类型、流程控制、函数、包管理,结构体,接口,错误处理,defer

  • 基本语法、变量和数据类型:学员将掌握Go语言的基本语法规则、变量的声明和使用,以及常见的数据类型和类
  • 流程控制:学员将了解条件语句(if-else、switch)、循环语句(for、range)等流程控
  • 函数:学员将学习如何定义和调用函数,带有参数和返回值的函数,以及函数的递归调用。
  • 包管理:学员将了解如何创建、导入和使用包,以便组织和管理代码,并能够编写可复用的函数和模块。
  • 结构体和接口:学员将学习如何定义和使用结构体,创建自定义的数据类型,并深入理解Go语言中接口的概念和
  • 错误处理和defer:学员将掌握错误处理的方法,如使用错误类型和错误返回值来处理异常情况,以及利用d
  • Slice、Map和Channel:学员将学习使用Slice和Map来处理动态数据集合,以及使用Ch
  • 锁、Timer和同步库:学员将了解如何使用锁机制来保护共享资源的并发访问,以及如何使用Timer和同

课程简介:

这门初级Go语言课程涵盖了广泛的主题,旨在帮助学习者建立扎实的Go编程基础。课程从基本语法、变量和数据类型开始,为学习者提供了一种清晰的理解Go语言的方式。接着,学习者将探索流程控制、函数和包管理,学会编写结构良好的代码。


课程还重点介绍了Go的核心特性,如结构体和接口。学习者将学会如何设计和使用这些概念来构建灵活且可扩展的应用程序。此外,学习者还会了解错误处理、defer语句以及同步机制的重要性,以提升代码质量和可靠性。


进一步深入,课程涵盖了Go中常用的数据结构,如slice和map,以及并发编程的关键概念,如channel和锁。学习者将学会如何利用这些工具来处理并发任务和实现协作。


最后,课程还介绍了Go语言中的timer和同步库的使用,以帮助学习者实现定时任务和有效的并发控制。


通过这门初级课程的学习,学习者将建立坚实的Go编程基础,为进一步探索和应用Go语言开发提供了可靠的基础。无论是从事Web开发、系统工具还是网络服务,这门课程将为学习者提供必要的技能和知识。


展开更多

课程大纲-2023年go语言初级

  • 第1章go开发工具(7分钟2节)

  • 1-1

    001.gvm安装gogvm(或在Windows下为g)是一个用于管理Golang版本的工具,可带来以下好处:快速切换Golang版本,方便进行版本测试和开发;在多个项目中同时使用不同版本的Golang包和工具,避免冲突;通过gvm管理不同版本的Golang,方便安装、卸载和更新;可以自由选择Golang的镜像源,以获取更快的下载速度。对于Windows系统的用户,可以使用g来获得类似的功能和优势。

    [05:51]
  • 1-2

    002.go开发工具vscode安装在安装Go开发工具VS Code之前,请确保已经安装了Go编程语言的环境。然后,你可以在VS Code的扩展市场中搜索并安装名为"Go"的官方插件。安装完成后,VS Code会自动检测到你的Go环境,并提供相关功能,如语法高亮、代码补全、调试等。你还可以根据需要进行插件的配置和个性化设置,以优化你的Go开发体验。现在你可以打开一个Go项目,开始使用VS Code作为你的Go开发工具了。

    [01:50]
  • 第2章go基础(1小时52分钟23节)

  • 2-1

    003.go的第1个程序helloworld"Hello, World!"是Go语言中的第一个经典程序。它展示了Go的简洁性和易用性。通过只需几行代码,我们可以打印出这个简单但重要的欢迎信息。这个程序不仅仅是一种传统,它还是学习Go语言基础的入门之旅的第一步。通过这个简单的程序,你将迈出你的Go编程之旅,并开始探索更多有趣的功能和应用。

    [05:18]
  • 2-2

    004.go变量变量是值可变的标识符,用于存储数据的内存空间。在Go语言中,有两种常见的声明或定义变量的方式:使用关键字var和使用冒号。关键字var用于声明变量并指定其类型,冒号则用于声明并初始化变量,由编译器自动推断出变量的类型。此外,Go语言还支持匿名变量(也称为哑元变量)。匿名变量可通过下划线(_)来表示,用作占位符表示不关心的变量。它在函数多返回值时非常有用,可以忽略某些返回值,避免定义未使用的变量。

    [06:01]
  • 2-3

    005.go常量和iota常量是在程序编译时就确定并且无法改变其值的标识符。使用关键字const来声明常量。常量在编译时分配内存,并且在代码中使用时直接替换为其具体的值。常量可以是基本数据类型如整数、浮点数或布尔值,也可以是字符串、字符或自定义类型。iota是一个用于枚举的标识符,它表示一系列常量的行号,从0开始自动递增,常用于定义一组相关的常量。通过使用iota,可以在每个常量声明中简洁地生成连续的值。

    [05:51]
  • 2-4

    006.go数据类型数据类型是对数据的分类和组织方式。通过定义数据类型,我们可以在编程中对数据进行合理的内存分配和管理,支持相应的操作和计算,提高代码的可读性和可维护性,以及增加类型安全性和错误检测。基本类型包括整型、浮点型、复数、布尔和字符串,而引用类型包括结构体、数组、字符串、映射、通道、接口和指针。不同类型的数据在内存中有不同的存储方式,例如数组是一块连续的内存,字符串和切片是结构体,映射和通道是指针。

    [04:56]
  • 2-5

    007.go格式化输出的两种分类本节课讲的是Go语言中的格式化输出。格式化输出是将数据以指定的格式输出到控制台、文件或字符串中。根据输出行为和输出目标的分类,共有九种输出方式。其中,Print输出不换行,Printf指定格式输出,Println输出并换行。Println是标准输出打印,默认输出到控制台;Sprintln返回一个字符串;Fprintln可以自定义输出,如文件或网络。通过示例代码,展示了输出到控制台、字符串和文件的方式。格式化输出对于让数据以可读的形式展示给用户或保存到文件中非常有用。

    [06:16]
  • 2-6

    008.go格式化输出的占位符格式化输出的占位符是在打印输出中用于指示插入特定类型值的标记。在Go语言中,常用的占位符包括:%v(通用占位符,可表示任意类型的值)、%d(十进制整数占位符)、%x(十六进制整数占位符)、%s(字符串占位符)、%f(浮点数占位符)、%t(布尔值占位符)、%c(字符占位符)。这些占位符可以配合Printf函数使用,使得输出内容按照指定的格式和类型进行格式化,提供更加清晰明确的输出结果。

    [06:39]
  • 2-7

    009.控制台输入Scanln和Scanf是Go语言中用于从控制台读取用户输入的函数。Scanln函数用于以换行符为分隔符,从标准输入读取并解析用户输入的数据。它可以接受多个参数,将输入的值赋给相应的变量。Scanf函数则使用指定的格式字符串,从标准输入读取用户输入并进行解析和匹配。类似于C语言的scanf函数,它也可以接受多个参数,根据格式字符串将输入的值赋给对应的变量。这两个函数在交互式控制台程序中非常有用,可用于获取用户输入数据。

    [04:45]
  • 2-8

    010.if语句多分支Go语言的if语句可以支持多个分支,通过关键字"if"和"else if"来实现条件判断。这样的多分支结构使得我们可以根据不同的条件执行不同的代码块。通过逐个判断条件,并执行满足条件的分支代码块,可以实现更灵活的控制流程。在多分支的if语句中,只有满足第一个条件的代码块会被执行,后续的条件会被忽略。通过合理使用多分支if语句,我们可以根据不同的情况选择执行相应的代码逻辑。

    [03:40]
  • 2-9

    011.switch语句Go语言中的switch语句用于根据表达式的值进行多路分支控制。在switch语句中,可以使用一个或多个case来匹配不同的值。如果表达式的值与某个case中的值相等,就会执行对应的语句。可以在每个case中指定多个值以逗号分隔。如果没有匹配的case,则会执行default中的语句(可选)。switch语句的结构清晰简洁,适用于根据不同的条件执行不同的代码逻辑。

    [05:22]
  • 2-10

    012.go中的for循环Go语言中的for循环结构是通过初始语句、布尔表达式和迭代语句来控制循环执行。在每次循环中,首先执行初始语句,然后检查布尔表达式的结果,如果为真,则执行循环体内的代码,然后执行迭代语句。此后,再次检查布尔表达式,以决定是否继续循环。当布尔表达式为假时,循环结束。可以在循环体中执行需要重复执行的操作,通过迭代语句来更新循环条件。这样,循环结构可以方便地处理重复任务和迭代操作。

    [06:23]
  • 2-11

    013.go中的range在Go语言中,可以使用`for range`循环结构来遍历字符串、数组、切片、map及通道。通过`for key, val := range`语法,我们可以依次获取容器中的索引或键和对应的值,然后在循环体中进行相应的操作。对于字符串,`key`表示字符的索引,`val`表示字符的值;对于数组和切片,`key`表示元素的索引,`val`表示元素的值;对于map,`key`表示键,`val`表示对应的值;对于通道,`key`是该元素的索引,而`val`是通道中的元素。使用`for range`可以方

    [04:54]
  • 2-12

    014.go中的break在Go语言中,break语句有两种常见的用法。首先,在switch语句中,每个case分支默认会自带break,可立即跳出当前分支。如果不需要跳出,可以使用fallthrough关键字实现执行下一个case分支。其次,在for循环中,break语句可以立即退出当前循环,不再执行后续的迭代。这样,方便控制程序的流程和逻辑。无论是在switch分支还是在for循环中,break语句都是一种有效的程序控制工具。

    [05:24]
  • 2-13

    015.go中的continue在Go语言中,`continue`语句用于结束当前循环迭代并跳转到下一次迭代。通过一个简单的案例演示,我们可以观察到在`continue`之后的代码不会执行,但循环会继续执行下一个迭代。相比之下,`break`语句用于完全结束循环,不再进行任何迭代。当在双重循环中使用`continue`时,它会继续内层循环的执行。然而,如果我们想要继续外层循环,可以使用标签(label)来实现。总结起来,`continue`用于跳过当前迭代继续下一次迭代,`break`用于完全结束循环,而标签可用于跳出多重循环

    [04:56]
  • 2-14

    016.go中的goto在Go语言中,虽然提供了goto语法,但是一般不建议过多地使用它。goto语句可以无条件跳转到程序中指定的行,从而实现程序的跳转。但是,滥用goto语句可能导致代码变得难以理解和维护。在实际开发中,我们更倾向于使用更结构化的控制流语句,如条件语句和循环语句,来实现控制流程的转移。这样可以提高代码的可读性和可维护性,避免潜在的错误和混乱。

    [01:57]
  • 2-15

    017.go中的return在Go语言中,return语句被广泛用于方法和函数中。它的一个用法是结束当前函数的执行并返回结果。通过一个案例展示,我们可以看到在执行过程中,当遇到return语句时,函数立即停止执行,返回指定的结果。后续会进行更详细的讲解和展示关于return的其他用法。简单来说,return在Go中用于控制函数的执行流程和返回结果。

    [02:00]
  • 2-16

    018.func函数的引入函数在Go语言中扮演了重要的角色。通过函数,我们能够提高代码的复用性、减少冗余代码,并提高代码的维护性。函数是由一系列指令(语句)组成的,用于完成特定功能的定义。函数的基本语法包括函数名、形参列表和返回值类型列表。函数体内可以执行各种语句,并通过`return`语句返回相应的值。通过合理地定义和使用函数,我们能够有效地组织代码,增加程序的可读性和可维护性。

    [05:42]
  • 2-17

    019.func函数详解2Go语言的函数具有以下特点:函数名需遵循标识符命名规范,采用见名知意的驼峰命名法,首字母不能是数字。若函数首字母大写,该函数可以被本包文件和其他包文件使用,相当于公共函数;若首字母小写,该函数只能被本包文件使用,相当于私有函数。形参列表可以接收任意数量的参数,包括一个参数、多个参数或者没有参数。形参列表的作用是接收外部传入的数据,而实际参数则是传入函数中的具体数据。返回值类型列表可以是0个、1个或多个参数。根据函数的需求,可以使用适当数量的返回值来返回相应的结果。

    [05:19]
  • 2-18

    020.func函数两数交换本节课介绍了在Go语言中实现两数交换的函数。通过编写一个名为`swap`的函数,使用指针来实现两个数值的交换,解决了通过值传递无法影响主函数中变量值的问题。在内存方面,代码区存储代码,已初始化区和未初始化区存储全局变量,堆存储对象,而栈存储函数入参和局部变量。由于每个函数对应一个栈帧,拥有不同的内存空间,所以主函数和`swap`函数中的变量不是同一个。然而,通过使用指针,可以实现两个栈帧中指向同一对象的变量交换,从而影响到主函数中的值。

    [06:00]
展开更多
在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部