以下代码打印出来什么内容,说出为什么。
package main
import (
"fmt"
)
type People interface {
Show()
}
type Student struct{}
func (stu *Student) Show() {
}
func liv……继续阅读 »
admin
10个月前 (04-27) 360浏览 0评论
0个赞
以下代码能否编译?
package main
import "fmt"
type Student struct {
Name string
}
var list map[string]Student
func main() {
list = make(map[string]Student)
……继续阅读 »
admin
10个月前 (04-22) 350浏览 0评论
0个赞
init() 函数是什么时候执行的?
答案解析:
init() 函数是 Go 程序初始化的一部分。Go 程序初始化先于 main 函数,由 runtime 初始化每个导入的包,初始化顺序不是按照从上到下的导入顺序,而是按照解析的依赖关系,没有依赖的包最先初始化。
每个包首先初始化包作用域的常量和变量(常量优先于变量),然后执行包的 init() 函数。同一个……继续阅读 »
admin
10个月前 (04-06) 404浏览 0评论
0个赞
map 在扩容后,会发生 key 的搬迁,原来落在同一个 bucket 中的 key,搬迁后,有些 key 就要远走高飞了(bucket 序号加上了 2^B)。而遍历的过程,就是按顺序遍历 bucket,同时按顺序遍历 bucket 中的 key。搬迁后,key 的位置发生了重大的变化,有些 key 飞上高枝,有些 key 则原地不动。这样,遍历 map 的……继续阅读 »
admin
11个月前 (03-30) 369浏览 0评论
0个赞
下面这段代码输出什么,说明原因。
func main() {
slice := []int{0,1,2,3}
m := make(map[int]*int)
for key,val := range slice {
m[key] = &val
}
for k,v := range m {
fmt.Print……继续阅读 »
admin
11个月前 (03-28) 277浏览 0评论
0个赞
下面代码输出正确的是?
func main() {
i := 1
s := []string{"A", "B", "C"}
i, s[i-1] = 2, "Z"
fmt.Printf("s: %v \n", s)
}
A. s: ……继续阅读 »
admin
11个月前 (03-24) 354浏览 0评论
0个赞
下面这段代码输出什么?
func main() {
var a = [5]int{1, 2, 3, 4, 5}
var r [5]int
for i, v := range a {
if i == 0 {
a[1] = 12
a[2] = 13
}
r[i] = v
}
fmt.Println(&……继续阅读 »
admin
11个月前 (03-17) 344浏览 0评论
0个赞
下面这段代码输出什么?
func f(n int) (r int) {
defer func() {
r += n
recover()
}()
var f func()
defer f()
f = func() {
r += 2
}
return n + 1
}
func main() {
……继续阅读 »
admin
11个月前 (03-16) 303浏览 0评论
0个赞
下面代码输出什么?
type Math struct {
x, y int
}
var m = map[string]Math{
"foo": Math{2, 3},
}
func main() {
m["foo"].x = 4
fmt.Println(m["foo&quo……继续阅读 »
admin
11个月前 (03-10) 220浏览 0评论
0个赞
下面这段代码输出什么?
const (
a = iota
b = iota
)
const (
name = "name"
c = iota
d = iota
)
func main() {
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)……继续阅读 »
admin
11个月前 (03-07) 195浏览 0评论
0个赞