geektutu / blog

极客兔兔的博客,Coding Coding 创建有趣的开源项目。
https://geektutu.com
Apache License 2.0
166 stars 21 forks source link

Go 语言简明教程 | 快速入门 | 极客兔兔 #58

Open geektutu opened 4 years ago

geektutu commented 4 years ago

https://geektutu.com/post/quick-golang.html

一篇文章入门Go语言,Go语言(Golang)简明教程,Go语言入门教程,Go语言中文教程(golang tutorial)。Go 是一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。本文介绍了 Go 语言的安装、基本类型(字符串str,整型,数组,切片slice,字典 map 等)、控制流(if, for range, for循环, switch 等)、复杂类型(结构体 struct, 接口 interface,方法 method 等),并发编程(sync, chan),错误处理(panic, error),Go Modules 引入第三方依赖,以及如何写测试代码(Unit Test)等。

SimonYen commented 4 years ago

写的不错

shiftj18 commented 4 years ago

通俗易懂! ps: 4.3节实例的输出结果有点问题 0 10, 1 20, 2 30,3 40

anbenqishi commented 4 years ago

最后一个例子,引用的包名应该是“calc/calc”吧

geektutu commented 4 years ago

通俗易懂! ps: 4.3节实例的输出结果有点问题 0 10, 1 20, 2 30,3 40

@shiftj18 感谢指出问题,下次更新时修正。

geektutu commented 4 years ago

最后一个例子,引用的包名应该是“calc/calc”吧

@anbenqishi go module 模式下,引用方式是 <mod-name>/<dir-name>,这个地方是OK的。

lianfulei commented 3 years ago

已经看完了,不错

jlvihv commented 3 years ago

一直不知道协程怎么写,看了这篇文章懂了,写的真棒,感谢!

Hangzhi commented 3 years ago

在单元测试的时候,好像需要 go test calc_test.go calc.go -v。把两个文件链接起来,不然会找不到函数,想问为什么可以只用 go test 命令行就可以呀?

xdsgogo commented 3 years ago

看了文章,学习不少,下面有个问题请教下: b := make([]float32, 3, 5) b = append(b, 1, 2, 3, 4)

c := make([]float64, 3, 5) c = append(c, 1, 2, 3, 4) 请问下为什么b扩容之后容量是12,c扩容之后容量是10

panjianning commented 2 years ago

牛哇牛哇

Linrena commented 2 years ago

@xdsgogo 看了文章,学习不少,下面有个问题请教下: b := make([]float32, 3, 5) b = append(b, 1, 2, 3, 4)

c := make([]float64, 3, 5) c = append(c, 1, 2, 3, 4) 请问下为什么b扩容之后容量是12,c扩容之后容量是10

  1. 当前长度3,容量5,加四个元素,期望长度为7,超过当前容量发生扩容,根据golang扩容策略当前容量翻倍为10
  2. 为提高内存利用率,扩容后的切片还要进行内存对齐,根据你最后的结果可以推测你的电脑是64位系统,10容量下的float32需要40字节,内存要向上对齐到48字节,最后真实扩容容量为48/4=12
hhwangS27 commented 2 years ago

太棒了 兔兔赛高!

lianfulei commented 2 years ago

这是来自QQ邮箱的假期自动回复邮件。   您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。

MachineGunLin commented 1 year ago

写的非常好,有编程基础的跟着敲一边差不多2小时就掌握了,感谢作者!

lianfulei commented 1 year ago

这是来自QQ邮箱的假期自动回复邮件。   您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。

liushunshun commented 1 year ago

写的非常好,赞👍

tahitimoon commented 1 year ago

写得太棒了,好像很久没更新了

zhiqiangss commented 1 year ago

9.1 package部分描述有误: 应该是:分别定义 add 和 main 函数。 而不是:分别定义 add 和 main 方法。

dadait commented 10 months ago

5.2 中的“ 可以通过 errorw.New 返回自定义的错误”错别字,应该是errors.New