昨天項目上線,出現(xiàn)一個莫名奇妙的錯誤炎功,緩存中計算庫存所剩余數(shù)量,拿全部庫存-已用庫存缓溅,這里設(shè)置的庫存為uint32位 打印:(剛開始一臉悶逼) 糾錯好久蛇损,才想起了這是個細節(jié)問...
剛接收公司項目時候,go mod拉取gitlab上倉庫坛怪,總是出現(xiàn)unknown revision問題淤齐,沒有其他的提示,搜索網(wǎng)上各個博客的解決方法袜匿,每一個能解決問題更啄,最后發(fā)現(xiàn)是...
使用[]byte代替string 字符串 字符串是一系列8位字節(jié)的集合,默認初始化值為""居灯,同時字符串的值是不可以改變的祭务。其數(shù)據(jù)結(jié)構(gòu)為: []byte byte是int8的別...
因grpc版本問題導(dǎo)致的報錯 解決辦法修改依賴版本: 因go-system導(dǎo)致的問題 在GOPATH/src下執(zhí)行 在go mod里加入
問題1:connection reset by peer 首先,看一下TCP握手簡單描繪過程: 其握手過程原理怪嫌,就不必說了义锥,有很多詳細文章進行敘述,本文只關(guān)注研究重點岩灭。在第三...
項目中需要大量用到從文件服務(wù)器獲取文件,為了減少一丁點內(nèi)存的復(fù)用噪径,使用了基本的sync.pool柱恤,具體代碼如下:
在之前項目用到mysql5.6,在docker-compose編排后找爱,插入數(shù)據(jù)亂碼膨更,解決辦法是加入運行參數(shù)--character-set-server=utf8,簡單運行的d...
因為mysql的8.0以上版本不支持零日期格式,導(dǎo)致gorm插入默認數(shù)據(jù)出錯矗漾。 解決方法一:修改代碼中struct 1锈候、把日期類型time.Time改為指針類型*time.T...
為什么要盡量避免內(nèi)存逃逸? 因為如果變量的內(nèi)存發(fā)生逃逸敞贡,它的生命周期就是不可知的泵琳,其會被分配到堆上,而堆上分配內(nèi)存不能像棧一樣會自動釋放誊役,為了解放程序員雙手获列,專注于業(yè)務(wù)的實現(xiàn)...
使用go mod總是報錯: 因為新版默認GOSUMDB=sum.golang.org,這個網(wǎng)站被墻 修改go env環(huán)境變量
解釋 回溯法是一種優(yōu)先搜索法蛔垢,按選優(yōu)條件向前搜索击孩,以達到目標,簡單來說就是一條路往前走鹏漆,能進則進巩梢,不能則退,其實現(xiàn)核心是利用遞歸實現(xiàn)艺玲。 步驟拆分 因為網(wǎng)上的的解釋的如出一轍括蝠,...
以下是本人在項目經(jīng)常用到的用法與作用,具體詳細介紹可以看詳細文檔:http://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%...
在看golang的源碼包經(jīng)撤咕郏看到rune,一直和byte搞混淆忌警。先來看看rune與byte區(qū)別: byte 等同于int8,常用于處理ascii字符 rune等等同于int3...
協(xié)程go多了秒梳,總覺的天下我有慨蓝,沒事就喜歡go一個協(xié)程,信手拈來端幼,在項目中寫個如下類似代碼: 想著開個協(xié)程去wait所有協(xié)程組礼烈,測試一下通了,沒問題婆跑,好牛逼此熬,協(xié)程呀!滑进!可多測試...
golang中的map在并發(fā)下是不安全的犀忱,如果同時讀寫會出現(xiàn): 同時多個協(xié)程讀取不會出現(xiàn)問題,為了解決此問題扶关,可以在寫的時候加鎖阴汇,讓寫map時候,讀只能同步等待最常用的加鎖方...
channel關(guān)閉問題 close管道后节槐,繼續(xù)忘channel發(fā)送數(shù)據(jù)會出錯搀庶,但可以接受數(shù)據(jù)拐纱,將讀取到零值,可以多次讀取