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

Go语言第一课

郝林 架构师
难度入门
时长 3小时10分
学习人数
综合评分8.57
92人评价 查看评价
9.0 内容实用
8.2 简洁易懂
8.5 逻辑清晰

最赞回答 / 慕姐0836278
应该是path路径的问题。把这个工作目录加到环境变量里面 或者 全路径访问试下
评论区什么鬼,你们这么厉害,有本事直接读 Go 的英文文档或者看源代码啊,在这里扯什么。看不见这是初级教程么?

最赞回答 / 慕工程3002471
func (person Person) Grow() {
    person.Age++
}
p := Person{"Robert", "Male", 33, "Beijing"}
p.Grow()
fmt.Printf("%v\n", p)
如果执行p.Grow()不能达到预期目的的话,要这个·值方法·功能有何用处呢?至少在这个例子里是没用的啊
最简单没有之一
func main() {
for i := 0; i < 10; i++ {
fmt.Printf("%d ", fibonacci(i))
defer fmt.Printf("%d ", fibonacci(i))
}
}

func fibonacci(num int) int {
if num == 0 {
return 0
}
if num < 2 {
return 1
}
return fibonacci(num-1) + fibonacci(num-2)
}
package main

import "fmt"

func main() {
var number int = 5
if number += 4; 10 > number {
number += 27
number += 3
fmt.Print(number)
} else if 10 < number {
number -= 2
fmt.Print(number)
}
fmt.Println(number)
}
package main

import "fmt"

type Animal interface {
}
type Cat struct {
name string
age int
addr string
}

func main() {
myCat := Cat{"Little C", 2, "In the house"}

animal, ok := interface{}(&myCat).(Animal)
fmt.Print(animal)
fmt.Printf("%v, %v\n", ok, animal)
}

最新回答 / 慕仔0371871
定义main函数的源代码文件中必须声明package main,但是main并不是所在的文件夹(代码包)的名称。go build main 把main当成了一个代码包(文件夹)的名称,如果你没有在GOROOT/src或GOPATH/src下 显式的创建过一个名为main的代码包,就会报这个错误。
喔喔,郝林

最新回答 / 宋佳民
数组的下标从0开始,切片的索引值是从下标来的,最后上届索引值指向的元素不要

最新回答 / WJHHAHA
让填入的是字节,1字节=8bit,所以64bit=8字节
func main() {
ch1 := make(chan int)
ch2 := make(chan int)
ch3 := make(chan int)
go func() {
fmt.Println("1")
ch1 <- 1
}()
go func() {
<- ch1
fmt.Println("2")
ch2 <- 1
}()
go func() {
<- ch2
fmt.Println("3")
ch3 <- 1
}()
<- ch3
}
答案:
func main() {
var so sync.WaitGroup
so.Add(1)
go func() {
fmt.Println("1")
so.Done()
}()
so.Wait()

so.Add(1)
go func() {
fmt.Println("2")
so.Done()
}()
so.Wait()

so.Add(1)
go func() {
fmt.Println("3")
so.Done()
}()
so.Wait()
}
答案:
select {
case e, ok := <-ch4:
if !ok {
fmt.Println("End.")
return
}
fmt.Println(e)
close(ch4)
default:
fmt.Println("No Data!")
ch4 <- 1
}
答案:
ia := []interface{}{byte(6), 'a', uint(10), int32(-4)}
switch v := ia[rand.Intn(4)]; interface{}(v).(type) {
case int32 :
fmt.Printf("Case A.")
case byte :
fmt.Printf("Case B.")
default:
fmt.Println("Unknown!")
}

最赞回答 / sliverg
这就是一个slice, interface的意思是这个slice里面可以是任何类型, byte(6),uint(10)   ,这些都是类型转换,都是一个实数。还有你这个有错误,'a'这个会编译报错,GO不支持单引号实际上你可以理解为这样一个slice     []interface{1,"a",3,4,5}    ,
老师讲的挺细的,挺好的
课程须知
本课程的目的是带领大家入Go语言的门,然后再猛推一把!需要一些Linux Shell的基础,不熟悉Linux的童鞋,可以先去《Linux达人养成计划Ⅰ》中修炼一下~~
老师告诉你能学到什么?
1、怎样使用Go语言编程 2、怎样才算会用Go语言编程 3、怎样运用那些Go语言的特性去编程 4、Go语言的那些特性的实际益处在哪儿

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消