为了账号安全,请及时绑定邮箱和手机立即绑定

Go语言第一课

郝林 架构师
难度入门
时长 3小时10分
学习人数
综合评分8.57
92人评价 查看评价
9.0 内容实用
8.2 简洁易懂
8.5 逻辑清晰
  • 如果填的是0,代表`myChannel`是一个非缓存通道。发送方在向通道值发送数据的时候会立即被阻塞,直到有某一个接收方已从该通道值中接收了这条数据。

    所以在第一个匿名函数执行到`sender <- number`语句之后,便被阻塞了,这时第二个匿名函数开始被执行。等到语句`fmt.Println("Received!", <-receiver)`被执行之后,通道内的值被清空了,`sender <- number`之后的语句继续被执行。所以就会看到

    Received! 6

    Sent!

       

    查看全部
  • func main() {

        var numbers4 = [...]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

        slice5 := numbers4[4:6:8]

        length := (2)

    capacity := (4)

    fmt.Printf("%v, %v\n", length == len(slice5), capacity == cap(slice5))

    slice5 = slice5[:cap(slice5)]

    slice5 = append(slice5, 11, 12, 13)

    length = (7)

    fmt.Printf("%v\n", length == len(slice5))

    slice6 := []int{0, 0, 0}

    copy(slice5, slice6)

    e2 := (0)

    e3 := (8)

    e4 := (11)

    fmt.Printf("%v, %v, %v\n", e2 == slice5[2], e3 == slice5[3], e4 == slice5[4])

    }

    查看全部
  • 一个切片值的容量即为它的第一个元素值在其底层数组中的索引值与该数组长度的差值的绝对值

    查看全部
  • length := (3)

    capacity := (3)

    查看全部
  • func main() {

        var numbers2 [5]int

    numbers2[0] = 2

    numbers2[3] = numbers2[0] - 3

    numbers2[1] = numbers2[2] + 5

    numbers2[4] = len(numbers2)

    sum := (11)

    // “==”用于两个值的相等性判断

    fmt.Printf("%v\n", (sum == numbers2[0]+numbers2[1]+numbers2[2]+numbers2[3]+numbers2[4]))

    }

    查看全部
  • num1 int
    num2 int
    num3 int
    查看全部
  • 有符号的整数类型int和无符号的整数类型uint

    查看全部
  • 0.000589

    查看全部
  • 基础命令

    go run :
    1、用于运行命令源码文件,只能接受1个命令源码文件以及若干个库源码文件作为文件参数。

    2、操作步骤  先编译源码文件 》临时文件夹  》运行  》结果:可执行文件  以及  归档文件

    查看全部
    0 采集 收起 来源:go run 命令简介

    2022-07-27

  • 命令的更多细节以及更多命令,参见《Go命令教程》:

    https://github.com/hyper-carrot/go_command_tutorial

    查看全部
    0 采集 收起 来源:本章总结

    2022-02-14

  • Go语言原生的支持并发

    查看全部
    0 采集 收起 来源:Go语言特点

    2021-12-17

  • 请在命令源码文件index.go的第12行的反引号中填入变量str1所代表的字符串值。

    ```

    package main


    import ( 

        "fmt" 

    )


    func main() {

        // 声明一个string类型变量并赋值

        var str1 string = "\\\"" 

        

        // 这里用到了字符串格式化函数。其中,%q用于显示字符串值的表象值并用双引号包裹。

        fmt.Printf("用解释型字符串表示法表示的 %q 所代表的是 %s。\n", str1, (`\"`) )//12行

    }

    ```


    "\\\""所代表的字符串值是\"。

    查看全部
  • go run

        用于运行命令源码文件

        只能接受一个命令源码文件以及若干个库源码文件作为文件参数

    go bulid

    go install

    go get


    查看全部
    0 采集 收起 来源:go run 命令简介

    2021-11-09

  • Go语言的优势

    1,脚本化的语法

    2,静态类型+编译型,程序运行速度有保障,速度大于动态类型+解释型语言,速度高出很多

    3,原生的支持并发编程

    降低开发、维护成本

    程序可以更好的执行

    Go语言的劣势

    1,语法糖并没有Python和Ruby那么多

    2,目前的程序运行速度还不及C,速度已赶超C++和java

    3,第三方函数库暂时不像绝对主流的编程语言那么多

    查看全部
  • Go源码文件:名称以.go为后缀,内容以Go语言代码组织的文件   多个Go源码文件是需要用代码包组织起来的
      源码文件分为三类:命令源码文件、库源码文件(go语言程序)    测试源码文件(辅助源码文件)
      命令源码文件:声明自己属于main代码包、包含无参数声明和结果声明的main函数;被安装后,相应的可执行文件会被存放到GOBIN指向的目录或<当前工作区目录>/bin下
                  命令源码文件是Go程序的入口,但不建议把程序都写在一个文件中;同一个代码包中强烈不建议直接包含多个命令源码文件。
      库源码文件:不具备命令源码文件的那两个特征的源码文件, 被安装后,相应的归档文件会被存放到<当前工作区目录>/pkg/<平台相关目录>下
      测试源码文件:不具备命令源码文件的那两个特征的源码文件。名称以_test.go为后缀。其中至少有一个函数的名称以Test或Benchmark为前缀。并且,该函数接受一个类型为
                  *testing.T或*testing.B的参数
                  func TestFind(t *testing.T){//省略若干条语句}  func BenchmarkFind(b *testing.B){//省略若干条语句}

    查看全部
  • ffll

    fgdf
    gsgg
    查看全部
    0 采集 收起 来源:示例来源说明

    2021-07-23

  • 结构体比函数类型更加灵活,他可以封装属性和操作。

    匿名结构体无方法。

    查看全部
  • 与其它的数据类型不同,我们无法表示一个通道类型的值。因此,我们也无法用字面量来为通道类型的变量赋值。我们只能通过调用内建函数make来达到目的

    查看全部
  • Map)类型其实是哈希表的一个实现。字典用于存储键-元素对

    查看全部
  • 被“切下”的部分不包含元素上界索引指向的元素

    也就是左开右闭

    查看全部
  • 切片与数组的类型字面量的唯一不同是不包含代表其长度的信息

    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
本课程的目的是带领大家入Go语言的门,然后再猛推一把!需要一些Linux Shell的基础,不熟悉Linux的童鞋,可以先去《Linux达人养成计划Ⅰ》中修炼一下~~
老师告诉你能学到什么?
1、怎样使用Go语言编程 2、怎样才算会用Go语言编程 3、怎样运用那些Go语言的特性去编程 4、Go语言的那些特性的实际益处在哪儿

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!