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

Go语言第一课

郝林 架构师
难度入门
时长 3小时10分
学习人数
综合评分8.57
92人评价 查看评价
9.0 内容实用
8.2 简洁易懂
8.5 逻辑清晰
  • GOROOT 安装包所在路径,GOPATH go语言的工作目录http://img1.sycdn.imooc.com//60d08eff0001615a10520248.jpgGOBING 存放编译后的程序http://img1.sycdn.imooc.com//60d08f260001f5f609660274.jpghttp://img1.sycdn.imooc.com//60d08f5800018de110640296.jpg

    查看全部
    0 采集 收起 来源:Linux下的设置

    2021-06-21

  • 今天给静宝宝做了好吃的牛腩炖萝卜?
    查看全部
  • 指针类型同时拥有指针类型方法和值类型方法,但是值类型只拥有值类型方法

    查看全部
  • 为什么切片都是基于底层数组操作呢?有啥好处啊?节省内存,数组的复制是值复制

    查看全部
  • slice5 := numbers4[4:6:8] 这里边的8指的是容量上界的索引,而且不包含numbers4[8]。

    查看全部
  • append 之后如果容量没有超过原容量,还会新建数组吗?不会新建数组,直接修改了底层数组中的数据。实验代码

    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[0:1]

        var slice7 = slice5[:3]

         fmt.Printf("修改前slice7 %v\n", slice7[1])

         var slice6 = append(slice5, 11)

         fmt.Printf("修改后slice6 %v\n", slice6[1])

         fmt.Printf("修改后slice7 %v\n", slice7[1])

         slice5 = append(slice5, 2)

         fmt.Printf("修改原始切片后slice7 %v\n", slice7[1])

         fmt.Printf("修改原始切片后slice6 %v\n", slice6[1])

    }

    查看全部
  • time.Sleep

    runtime.Gosched()

    查看全部
    0 采集 收起 来源:go语句初探

    2021-02-28

  • 通过给make第二个参数传0构造非缓冲通道。

    声明类型时可以指定通道的方向。

    单向通道的主要作用是约束程序对通道值的使用方式。

    查看全部
  • select类似于switch。

    其case为多个通道,判定选哪个分支由系统随机决定,只要该case可行。

    相当于内建的排队系统。

    case体可包含break,此时立即结束当前select。

    select {

    case x :

    ...

    case y:

    ...

    default:

    ...

    }

    查看全部
  • 可以将通道类比于Linux上的管道。

    make函数可用来初始化数据,第一个参数为值的类型,第二个参数为值的长度。

    通道值的长度,应该被称为其缓存的长度。

    close函数可用来关闭通道,重复关闭会报错:panic: close of closed channel。

    若通道已满,发送会被阻塞。

    相比于某种数据类型,将通道理解为通信线路可能更好一点。

    即使通道已关闭,缓冲里的数据还是能继续读。



    查看全部
  •  

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

    slice5 := numbers4[4:6:8]                      // slice5      => 5,6

    length2 := (2)

    capacity2 := (4)                                     // cap(slice5) => numbers4[4:6:8]の 8-4 = 4

    fmt.Printf("%v, %v\n", length2 == len(slice5), capacity2 == cap(slice5))

    slice5 = slice5[:cap(slice5)]                   // slice5      => 5,6,7,8

    slice5 = append(slice5, 11, 12, 13)       // slice5      => 5,6,7,8,11,12,13

    length2 = (7) 

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

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

    copy(slice5, slice6)                               // slice5の値がslice6に変更される => 0,0,0,8,11,12,13

    e2 := (0)                                               // slice5[2]   => 0

    e3 := (8)                                               // slice5[3]   => 8

    e4 := (11)                                             // slice5[4]   => 11

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

    查看全部
  • num1 = 014 // 用“0”作为前缀以表明这是8进制表示法。
    num1 = 0xC // 用“0x”作为前缀以表明这是16进制表示法。

    -0x1000 =-16^3 =-4096


    查看全部
  • Go语言中的函数可以返回多个结果。

    匿名函数

    查看全部
    0 采集 收起 来源:Go语言-函数

    2020-12-22

  • 特点=》优势:

    1、脚本化的语法=》易上手,开发效率高;

    2、静态类型、编译型=》程序运行速度有保障;

    3、原生支持并发编程=》开发、维护成本低;

    劣势:

    1、语法糖少;

    2、运行速度超java、C++,不及C;

    3、第三方函数库不多;


    查看全部
  • go语言特点

    1、静态类型、编译型、开源

    2、脚本化,支持多种编程范式

    3、原生、给力的并发编程支持

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

    2020-12-09

举报

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

微信扫码,参与3人拼团

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

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