Go语言基础

Subslice

以下代码的运行结果是什么?

短声明

如果声明了x而没声明y, 下面哪一种情况是正确的?

x, _ := f()
x, _ = f()
x, y := f()
x, y = f()
                        

x, _ := f() //incorrect
x, _ = f() //correct
x, y := f() //correct
x, y = f() //incorrect
                            

Nil Interfaces

请写出下面程序的输出内容? 并解释 `println(InitType() == nil)` 为何编译不通过?

Go高级编程

一个Go函数返回值的拷贝问题

简单分析一下现在mr1和rr1内存分配情况,并把rr1和mr1的地址打印出来

slice其实是一个包含指向数字指针的结构体,此处数组本身数据分配在堆上。所以ptr-rr1[1]和ptr-mr1[1]其实是一个值。
                            

Go开发环境

gcflags

解释如下几个gcflags的参数

-l:
-m:
-N:
                        

-l:禁止内联函数
-m:显示内联函数的逃逸分析(escape analysis)
-N:禁止优化