关于 •
FAQ •
贡献者 •
晨读 •
Github •
新浪微博 •
Play •
免责声明 •
联系我们 •
捐赠 •
酷站 •
Feed订阅 •
24391 人在线
最高记录 5390
©2013-2025 studygolang.com Go语言中文网,中国 Golang 社区,致力于构建完善的 Golang 中文社区,Go语言爱好者的学习家园。
Powered by
StudyGolang(Golang + MySQL) • · CDN 采用
七牛云
VERSION: V4.0.0 · 9.740284ms · 为了更好的体验,本站推荐使用 Chrome 或 Firefox 浏览器
京ICP备14030343号-1
wg.Add(1) 上移一行。够执行太快,可能来不及执行,造成后面的 wg.Wait() 拦不住。
只有接口类型才有 类型断言
AB
B
不能 list["student"].Name = "LDB" 这句话 错了。map 不能 用 点
不能编译,类型别名 和 新的类型
list := new([]int) 出来的是一个指针,list = append(list, 1) 加号就可以
常量 编译后不是变量,所以常量取地址不可以。
编译失败, map不能比较
坑
make 创建实例,new 只创建类型。 make 用于 切片、通道、map、还有一个什么来着忘了,其他的用new。
引入包的时候自动执行。一个包有多个init都会被执行但是不保证 顺序。init不可以被程序调用。
0空间,主要用于chanel传递信号
双方都遍历互相比对,碰到下一级是map 或 slice,再遍历。。。。
map 不能求地址 fmt.Println(&m["qcrao"])
func sum(x, y int)(int, error) 或者 func sum(x, y int)(total int, err error) 都可以
[0 0 0 0 0 1 2 3] [1 2 3 4]
因为key的索引存储是哈希桶,
后中前异常
0 3,1 3,2 3,3 3.
for _, stu := range stus { stu每次循环是同一个变量,这里这个变量是指针,最后会得到3个最后一个切片元素
BD,
AC
10个0,加 1 2 3 ; s := make([]int, 0,10) 才是只初始化cap
不可以 s1 = append(s1, s2...) 加三个点 就可以了
啊
不能。改成 s1 = append(s1, s2...) 就好了。后一个参数是一系列值,不能是切片。
【1】 初始化对象不同,make 主要是初始化 切片、通道、map等。【2】new 初始化出来只是一个指针,不分配内存。make 直接分配内存。
init() 函数,是这个包被引用的时候执行,并且是末梢包的init先执行,同一个包可以有N 个init但是执行的顺序不保证,init不可以被我们编写的程序调用。
占用 0 空间,主要用于 chanle 传递信号
坑
后 中 前 异常
BD,(B不是太确定)
BD
这个没啥坑吧。靠,坑
CD
AD
(坑)
【1 2 3 4 5 】【1 12 13 4 5】遍历的是快照
0 1 ;1 2 ;2 3 。实际上输出3组,但是可能某组输出多个,某组不输出。最大概率是3组2 3 。原因是goroutine 还没起来,外层的循环就跑完了。 go func(i,v) { f...
A. 5 5 。两个p是同一个p。 (golang码农求职)(靠,答错了,坑)
第一句,两个类型不同,不能比较。后一句,切片不能比较。
艹
B. compilation error 因为 func (stu *Student) 要求指针 peo是对象 。[反过来 func (stu Student)就指针or对象都行] (golang码...
B. compilation error 基础类型不能绑定方法 。 (golang码农求职)
10 1 2 3 \n 20 0 2 2 \n 2 0 2 2 \n 1 1 3 4 (golang码农求职)
0:"zero",1:"one" 不保证顺序
@brunce 你错了,你写下来,看一下就知道了。(肯定比原题坑要大啊)