Golang中make和new及其区别
make和 new都用于分配内存,不同的是,make只能用于 slice、map、channel 这三种数据类型的内存创建那么他们还有什么不同吗,且听我娓娓道来分配内存要说到这两个的区别,我们还得从分配内存讲起。众所周知,在Golang中,如果我们声明了一个指针,而没有为其分配内存空间,那么是无法修改其值的,例如如下代码:package main import "fmt"...
make和 new都用于分配内存,不同的是,make只能用于 slice、map、channel 这三种数据类型的内存创建那么他们还有什么不同吗,且听我娓娓道来分配内存要说到这两个的区别,我们还得从分配内存讲起。众所周知,在Golang中,如果我们声明了一个指针,而没有为其分配内存空间,那么是无法修改其值的,例如如下代码:package main import "fmt"...
最近闲的没事干在捣鼓 fyne,想用Golang去写桌面程序(图一乐),因为要解决 fyne的中文乱码问题,需要将字体文件打包时内嵌到程序中,捣鼓了半天没搞定,突然发现了Golang的新特性,就用了一下,还挺有意思的,所以就顺便记录一下。当然,他不仅限于这种需求,比如在部署后端Web的时候,需要的一些静态资源,比如一些模板、css、js、图片等文件,也可以通过这样的方式打包到一个二进制文件中...
我,来自广东某双非24届的一个非科班本科生,在2021年,开启了我的后端之路...2021即将过去,依稀记得去年的现在,我还在写着winform,此时此刻,我也算是个有半年经验的Golang后端了,心血来潮,写篇博客,给自己的2021划上一个句号。前传——我是谁,我要干什么年初,我还在写着winform高中那会,我学的是C#,winform还算比较熟悉,刚开学的时候,也是闲的,为了解决我爸公...
map是线程不安全的最近发现了一个坑,原来Golang里面的map是线程不安全的,也就是说,如下代码,会出现问题:package main import ( "fmt" "time" ) func main() { m := make(map[string]string) go func() { fo...