Go語言通用方法筆記

2021-08-31 07:21:03 字數 3142 閱讀 7027

//報警引數配置//map

alarmevent_config = "alarm_event_configure"

//記錄上次報警時間字首 map

lastalarm_pre = "alarm_lastesttime_"

blacklist_lastalarm_pre = lastalarm_pre + "blacklist_"

protect_lastalarm_pre = lastalarm_pre + "protectarea_"

hotspot_lastalarm_pre = lastalarm_pre + "hotspot_"

//攝像機列表 set

uuid_pre = "alarm_camerauuid_"

protect_uuid = uuid_pre + "protectarea"

blacklist_uuid = uuid_pre + "blacklist"

hotspot_uuid = uuid_pre + "hotspot"

doubt_uuid = uuid_pre + "doubt"

//可疑人員臨時資料 map

doubt_pre = "alarm_doubt_"

doubt_shorttrack = doubt_pre + "shorttrack"

doubt_longrepeat = doubt_pre + "longrepeat"

doubt_longstay = doubt_pre + "longstay"

alarm_channel = "alarmwebsocket" //報警websocket使用

)/*獲取某年的某月一共多少天*/

func getdaysbyyearmonth(year int, month int) (days int) else

} else else

} return

}func timecost(str string, start time.time)

func createfile(path string, content byte) (errcode int64)

defer file.close()

w := bufio.newwriter(file)

_, err = w.write(content)

if err != nil

return 0

}func splitimagebase64content(str string) (suff, content string)

suff = splitstr[0][11 : len(splitstr[0])-7]

content = splitstr[1]

return

}func getimagesuffixes(str string) string

strpre := allstr[0]

return strpre[11 : len(strpre)-7]

}func hashsha256file(filepath string) string

defer file.close()

hash := sha256.new()

if _, err := io.copy(hash, file); err != nil

hashinbytes := hash.sum(nil)

hashvalue = hex.encodetostring(hashinbytes)

return hashvalue

}func hashsha256byte(str byte) (sha256str string)

func splitnameandsuf(imagename string) (name, suf string)

//yadd需要加幾年 madd 需要加幾個月

func spliceyearmonth(t, yadd, madd int) string

return y + n

}func spliceyearmonthtostr(y, n int) string

return ystr + nstr

}//判斷目錄是否存在,不存在則建立,建立失敗則返回錯誤資訊

func pathexists(path string) (exist bool)

if os.isnotexist(err)

return true

}func fileexists(path string) (bool, error)

if os.isnotexist(err)

return false, err

}//獲取作業系統的目錄分隔符

func getseparator() (s string) else if ostype == "linux"

return

}//字串拼接

func strsub(strs ...string) string

return buffers.string()

}

go 方法 摘自go語言學習筆記

如何選擇方法的receiver型別 要修改例項狀態,用 t 無須修改狀態的小物件或固定值,建議用t 大物件建議用 t,以減少複製成本 引用型別 字串 函式等指標包裝物件,直接用t 若包含mutex等同步字段,用 t,避免因複製造成鎖操作無效 其他無法確定的情況,都用 t 方法集 型別t方法集包含所有...

六 go語言一些常用方法 go語言筆記

for i,value range slice 方式一 ages make map string int 方式二 ages map string int delete 乙個元素 delete ages,alice ages bob ages bob 1 如果沒有bob會返回0 ages bob 1 ...

go語言 方法

go 語言中沒有類,但是是有方法。方法的定義 func recevier type methodname 引數列表 返回值列表 type school struct func newschool name,addr string school func s school getname string...