//報警引數配置//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...