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

Go语言第一课

郝林 架构师
难度入门
时长 3小时10分
学习人数
综合评分8.57
92人评价 查看评价
9.0 内容实用
8.2 简洁易懂
8.5 逻辑清晰
提错误的,感叹号得中文叹号才行"!"

已采纳回答 / 记忆浅谈
这里的‘在被接受数据之前’指的是ch<-1存数据吧。缓冲的channel:保证往缓冲中存数据先于对应的取数据,简单说就是在取的时候里面肯定有数据,否则就因取不到而阻塞。所以缓冲的channel可能在取数据的时候发生阻塞。非缓冲的channel:保证取数据先于存数据,就是保证存的时候肯定有其他的goroutine在取,否则就因放不进去而阻塞。所以非缓冲的channel可能在存数据的时候会发生阻塞。
package main

import (
&quot;fmt&quot;

func main() {
ch := make(chan int)

go func() {
fmt.Println(&quot;1&quot;)
ch &lt;- 1
}()
&lt;-ch
go func() {
fmt.Println(&quot;2&quot;)
ch &lt;- 1
}()
&lt;-ch
go func() {
fmt.Println(&quot;3&quot;)
ch &lt;- 1
}()
&lt;-ch
}
func main() {
go fmt.Println(&quot;1&quot;)
time.Sleep(100*time.Millisecond)

go fmt.Println(&quot;2&quot;)
time.Sleep(200*time.Millisecond)

go fmt.Println(&quot;3&quot;)
time.Sleep(300*time.Millisecond)

}
这样不是更简单?
老师的方法也很好,但是感觉饶了路。之前也有遇到过
func main() {
for i := 0; i &lt; 10; i++ {

fmt.Printf(&quot;%d &quot;, fibonacci(i))

defer func(n int){
fmt.Printf(&quot;%d &quot;, fibonacci(n))
}(i)
}
}

已采纳回答 / qq_冥_6
可以看下这篇文章, 有详细解析 https://www.cppentry.com/bencandy.php?fid=78&aid=216871&page=1
func main() {
var wg sync.WaitGroup
wg.Add(1)

go func() {
fmt.Println(&quot;1&quot;)
wg.Done()
}()

wg.Wait()
wg.Add(1)

go func() {
fmt.Println(&quot;2&quot;)
wg.Done()
}()

wg.Wait()
wg.Add(1)

go func() {
fmt.Println(&quot;3&quot;)
wg.Done()
}()

wg.Wait()
}
深入浅出,讲得很好
func read(r io.Reader) ([]byte, error) {

return ioutil.ReadAll(r)
}
func main() {
var wg1 sync.WaitGroup
var wg2 sync.WaitGroup
var wg3 sync.WaitGroup
wg1.Add(1)
wg2.Add(1)
wg3.Add(1)
go func() {
fmt.Println(&quot;1&quot;)
wg1.Done()
}()
go func() {
wg1.Wait()
fmt.Println(&quot;2&quot;)
wg2.Done()
}()
go func() {
wg1.Wait()
wg2.Wait()
fmt.Println(&quot;3&quot;)
wg3.Done()
}()
wg3.Wait()
}
表达式里的问号,不管有没有%2,只要case 是int32就能输出case A
不知道这中Google一下,再填写上答案的目的是为啥。
浮点和整型不能相加吗?在 go 中。
16进制转10进制:
从右往左,位数*16^位数
所以16进制的-1000等于
0*16^0 = 0
0*16^0 = 0
0*16^0 = 0
1*16^3 = 4096
课程须知
本课程的目的是带领大家入Go语言的门,然后再猛推一把!需要一些Linux Shell的基础,不熟悉Linux的童鞋,可以先去《Linux达人养成计划Ⅰ》中修炼一下~~
老师告诉你能学到什么?
1、怎样使用Go语言编程 2、怎样才算会用Go语言编程 3、怎样运用那些Go语言的特性去编程 4、Go语言的那些特性的实际益处在哪儿

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消