io/ioutil
go mod
go mod 使用
gin.context
json.marshal 例:
type stu struct
type class struct
fun main()
//指標變數
cla :=
new(class)
cla.name =
"1班"
cla.grade =
3 stu.class = cla
jsonstu, err := json.
marshal
(stu)
if err !=
nil//jsonstu是byte型別
fmt.
println
(string
(jsonstu))}
//結果
}
上面的成員變數都是已知的型別,只能接收指定的型別,比如string型別的name只能賦值string型別的資料。
但有時為了通用性,或使**簡潔,我們希望有一種型別可以接受各種型別的資料,並進行json編碼。這就用到了inte***ce{}型別。
inte***ce{}是個空介面,go的每一種型別都實現了該介面,因此任何其他型別的資料都可以複製給inte***ce{}型別。json.unmarshal
對於json中的復合結構(例如 」class「:),不是可以直接解析的簡單型別資料。並且結構中的class是inte***ce{}型別,那麼解析時json自動將復合結構的資料解析為map[string]inte***ce{}型別的項。
【參考文件】go的json解析:marshal與unmarshal
ssl/tls協議執行機制的概述
內網/外網/nat
使用保留位址的網路只能在內部進行通訊,而不能與其他網路互連。因為本網路中的保留位址同樣也可能被其他網路使用,如果進行網路互連,那麼尋找路由時就會因為位址的不唯一而出現問題。但是這些使用保留位址的網路可以通過將本網路內的保留位址翻譯轉換成公共位址的方式實現與外部網路的互連。
內網ip對internet的訪問必須通過**的方式,nat(網路位址轉換)技術是基於tcp層面的**,能夠相當好地使用於各種ip服務應用,因此被廣泛應用。
內網也叫區域網,從範圍上來講內網就是小部分的網路,一般指的是特定環境下組成網路,比如某乙個家庭多台計算機互聯成的網路,也可以學校和公司的大型區域網,內網是不能直接連線外網,比較封閉,但在內網裡面可以實現檔案管理,應用軟體共享、印表機共享等服務。網際網路位址訪問內網終端裝置很麻煩,想要訪問需要做埠對映。外網又被叫做網際網路,是連線不同地區區域網或者都會網路計算機的通訊的遠端網路。通常可以跨接很大的物理範圍,覆蓋的範圍可以是幾十公里到幾千公里,它能連線多個地區、城市和國家提供遠距離通訊,形成全球性的網際網路絡。
埠對映就是將外網主機的ip位址的乙個埠對映到內網中的一台裝置,提供相應的服務。當使用者訪問這個ip這個埠時,伺服器自動將請求對映到對應區域網內部的終端裝置上。
nat(network address translation):nat主要功能是可以在內網配置私有ip位址,然後在路由或者防火牆等邊界裝置上統一轉換為公網位址在訪問網際網路(利用路由器上的外網位址),這樣就不需要為區域網內的每台終端裝置配置公網ip位址,解決了公網ipv4位址枯竭的問題。
路由器內維護nat**表,使得多個內網ip可以公用乙個公網ip。什麼是內網、公網和nat?如圖內網的私有ip位址和埠經過nat轉換,換成了公網的ip位址和乙個隨機的埠。這樣,40.30.20.10:80接收到12.13.14.15:24604的請求後,返回訊息給12.13.14.15:24604,也就是路由器接收到回報,根據回報中的ip和埠資訊(12.13.14.15:24604)去查詢nat**表,找到對應的192.168.1.3:42301,然後將回報**給192.168.1.3:42301。其他裝置上網用同樣的流程。有了這麼個nat**表,家庭網路中不同裝置(ip)不同程式(port)可以公用路由器上的乙個公網ip位址了。家庭網路和辦公網路公用ip,大大減少了ipv4的消耗。
nat工作原理
idc時序資料庫
對比傳統資料庫僅僅記錄了資料的當前值,時序資料庫則記錄了所有的歷史資料,時序資料庫的查詢也總是會帶上時間作為過濾條件。所有有時序資料產生,並且需要展現其歷史趨勢,週期規律、異常性的,進一步對未來做出**分析的,都是時序資料庫適合的場景。
時序資料庫 - 儲存
零碎知識點
1.反斜槓也可拼接字串 window.nl ad function window.nl ad function 2.在console.log 中新增樣式 var a hello console.log c a,font size 400 background blue color white 3 通...
零碎知識點
比較數值時,不要integer,要int 1,elasticsearch查詢時不識別大寫,應全部轉為小寫.因此建立索引時盡量使用小寫 2.var param param.yanan1 yanan2 此處的用法 param 宣告了json格式的param,param.yanan1 yanan2定義了j...
彙編零碎知識點
條件碼 of overflow flag 溢位標誌,溢位時為1,否則置0.標明乙個溢位了的計算,如 結構和目標不匹配.sf sign flag 符號標誌,結果為負時置1,否則置0.zf zero flag 零標誌,運算結果為0時置1,否則置0.cf carry flag 進製標誌,進製時置1,否則置...