@老虎会游泳 骗我感情鸡哔你,罚你三小时不能喝水。
~~~
@㝶芾厶眵攴䭡,我其实不知道是新特性,只是做理论分析。
@老虎会游泳 好吧,1.17版本新特性,又学到了新知识。
~~~
@㝶芾厶眵攴䭡,如果编译时已经优化成寄存器拷贝了,就不会有内存分配了。
@没落的情绪,😺
@天天,原来你在这虎绿林啊
小米11PRO(黑)
你可以理解为负载均衡
@老虎会游泳 对于Golang而言,对象内存的分配在哪儿是不可控的吧,因为都是由 runtime 来负责内存分配;对于小对象,runtime 内部有针对小尺寸的分配策略。
~~~
搞了个小网站
https://note.533526.top
前期有什么建议吗
如果对象很小,可以直接放在寄存器上(<=64位),用值接收者可以更快,因为可以优化为寄存器拷贝,避免了内存寻址。如果用指针接收者,就必须为对象分配内存地址,会稍慢。
在一些比较大的变量下,用 * 可以避免内存拷贝
~~~
嗯,我也觉得没用,因为我没基本都是*
https://www.chengyao.xyz
@1mm0rtal,用这种方式发送一个启动sw3.exe的
wine.log
文件:
https://hu60.cn/q.php/bbs.topic.96470.html#nav
@老虎会游泳 是的是一个游戏的私f 不是官方的exe 是因为这个原因么
@无名啊,老虎说我前端ui都是别人做的!能用就行!
一个拿美女图片来吸引流量的网站。
https://www.chengyao.xyz
有人用过php中文分词相关库吗 业务没需求 一直没用过
package main import ( "fmt" ) type InterfaceConnection interface { DoSomething() int } type MyConnection struct { id int } func (c *MyConnection) DoSomething() int { fmt.Println("Doing something:", c.id) return c.id } func main() { Connections := make(map[uint64]InterfaceConnection) _workerConnections := make(map[uint64]InterfaceConnection) conn := &MyConnection{id: 1} Connections[1] = conn _workerConnections[1] = conn obj, ok := Connections[1] fmt.Printf("%v, %v\n", obj, ok) delete(Connections, 1) obj, ok = Connections[1] fmt.Printf("%v, %v\n", obj, ok) obj, ok = _workerConnections[1] fmt.Printf("%v, %v\n", obj, ok) }
&{1}, true <nil>, false &{1}, true
确实不会影响另一个
map的value是同一个&Struct{}
map的delete只是删除了键和值的对应关系,并不会对值做内存释放操作。
除非没有地方继续引用该值,它才会被垃圾回收。
所以直到fmt.Printf("%p", _workerConnections[1])
执行完成,&MyConnection{id: 1}
才可以被垃圾回收,在此之前它都是有效的。