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

Go语言第一课

郝林 架构师
难度入门
时长 3小时10分
学习人数
综合评分8.57
92人评价 查看评价
9.0 内容实用
8.2 简洁易懂
8.5 逻辑清晰
map 通过 range 循环是无序的,所以要再定义一个数组,来与 map 的 key 对应,以控制打印顺序。
我来个简化版:
type Cat struct{
name string
age int
addr string
}

func (c *Cat) Grow(){

}

func (c *Cat ) Move( string ) string{
return ""
}

只需要实现接口所定义的那些函数即可。
这节没看懂。
Printf里的 %v 是啥意思? animal 没有任何函数调用,如何输出字符串的?
generator = func(company string, department string, sn uint32) string{
// return "Gophers-RD-1"
return appendSn(company + "-" + department+ "-" , sn)
}
// return "Gophers-RD-1" 感觉这样写枉费了作者良苦用心
于是改为:
return appendSn(company + "-" + department+ "-" , sn)
指针的本质的地址
指针须声明类型
只可以**p,但不能有&&p
地址是只读的
&可抵消,即&a=a
空指针不能取指针值
```go
sfad
```
package main

func main() {
var a int = 123
var b *int = &a //指针变量b

println(a) //值
println(&a) //地址

println(b) //值(本质也是一个地址)
println(&b) //地址

println(*b) //取指针值
}
结构体的值方法是没有意义的
这种“死板”有个好处,就是传达信息精确,不会有歧义。习惯就好。
光讲没啥用,敲代码给我们看看嘛
func main() {
ch4 := make(chan int, 1)
for i := 0; i < 4; i++ {
select {
case e, ok := <-ch4:
if !ok {
fmt.Println("End.")
return
}
fmt.Println(e)
close(ch4)
default:
fmt.Println("No Data!")
ch4 <- 1
//fmt.Println("1")
}
}
}
func main() {
ia := []interface{}{byte(6), 'a', uint(10), int32(-4)}
switch v := ia[rand.Intn(4)%1+1]; interface{}(v).(type) {
case int32 :
fmt.Printf("Case A.")
case byte :
fmt.Printf("Case B.")
default:
fmt.Println("Unknown!")
}
}
我的答案
课程须知
本课程的目的是带领大家入Go语言的门,然后再猛推一把!需要一些Linux Shell的基础,不熟悉Linux的童鞋,可以先去《Linux达人养成计划Ⅰ》中修炼一下~~
老师告诉你能学到什么?
1、怎样使用Go语言编程 2、怎样才算会用Go语言编程 3、怎样运用那些Go语言的特性去编程 4、Go语言的那些特性的实际益处在哪儿

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消