map 在扩容后,会发生 key 的搬迁,原来落在同一个 bucket 中的 key,搬迁后,有些 key 就要远走高飞了(bucket 序号加上了 2^B)。而遍历的过程,就是按顺序遍历 bucket,同时按顺序遍历 bucket 中的 key。搬迁后,key 的位置发生了重大的变化,有些 key 飞上高枝,有些 key 则原地不动。这样,遍历 map 的……继续阅读 »
admin
6个月前 (03-30) 223浏览 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
6个月前 (03-28) 176浏览 0评论
0个赞
假设需要在A对象信息里绑定B、C、D的信息
//A类
class A {
/**
* @param $aIds
* @param $params
* with_b_info 获取b信息
* with_c_info 获取c信息
* with_d_info 获取d信息……继续阅读 »
admin
6个月前 (03-28) 206浏览 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
7个月前 (03-24) 219浏览 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
7个月前 (03-17) 219浏览 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
7个月前 (03-16) 191浏览 0评论
0个赞
经过一群人调研了常见的远程连接工具,调研结果是teamviewer比较好用,有2个技术点。
【走局域网len连接的实现方案】
1.两台机器都打开配置,找到“常规-呼入的len连接”,将配置修改成”仅接受(名字可能不同,选第三项)”
2.修改后界面会显示当前机器的ip和密码,将ip和密码填到另一台机器就能完成连接
【鼠标侧键不可用的问题……继续阅读 »
admin
7个月前 (03-11) 156浏览 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
7个月前 (03-10) 161浏览 0评论
0个赞
如果有2个数据库如何实现事务一致性?
我最先想到的是双事务方案:
对每个数据库开一个事务,最后两边同时提交,任意一边有一步出错两个同时回滚
但是这个方案有个问题:
最终会连续2次commit,万一第一次commit提交成功,第二次commit提交失败怎么办,最极端的情况就是第一次commit后机器挂了
这种情况虽然不太可能发生,但还是有极微小概率有可能发生。……继续阅读 »
admin
7个月前 (03-08) 175浏览 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
7个月前 (03-07) 141浏览 0评论
0个赞