最近,当我将开发完的新项目接口丢给前端仔去调用,正准备去摸鱼时,我的前端同事突然告诉我,我跨域配置没打开。我说这怎么可能,我这可是祖传代码,该配置的响应头都配置了,例如下面的代码demo
1 | resp.setHeader("Access-Control-Allow-Methods","*"); |
我说你不要诈我,但很快我就看到了一张图,啥时候cookie多了个SameSite字段?我说别慌!待我研究一下这是啥
总所周知,Go中内置容器Map是线程不安全的,当有多个协程同时进行操作,会抛出fatal error: concurrent map writes的错误,例如下面的例子
1 | func testMap() { |
因此如果我们有多个协程同时操作map的需求,就不能直接使用map啦。通常我们可以通过加读写锁(sync.RWMutex)或者使用sync.Map来保证线程安全。