日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Go 命令行参数,JSON 序列化与反序列化

發布時間:2025/3/20 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go 命令行参数,JSON 序列化与反序列化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#### Go 命令行參數,JSON 序列,反序列化
這一節來學習一下Go 如果解析命令行參數,以及JSON 的序列化及反序列化;
命令行參數對于熟悉Linux 的同學來說比較清楚,如: ls -a , wc -l ... 其中,-a, -l 都是命令行參數;
JSON 的序列化與反序列化在WEB 開發中很常見的, 這節帶領大家學習一下在Go 中如何操作JSON
##### 命令行參數
在Go 中os.Args 是一個字符串切片,存儲了所有的命令參數 package mainimport ("fmt""os" )func main(){fmt.Printf("命令行參數有%d個\n",len(os.Args))for i,v := range os.Args {fmt.Printf("當前是第%d個參數,參數是%s\n",i+1,v)} }

  


##### 使用flag 包來解析命令行參數
上面os.Args 是比較原始的方式解析參數,對于帶指定的參數形式,就比較吃力了;
使用flag 包可以解決這個問題 package mainimport ("flag""fmt" )func main() {var username stringvar password stringvar host stringvar port intflag.StringVar(&username,"u","","database username ,default empty")flag.StringVar(&password,"p","","database password,default empty")flag.StringVar(&host,"h","","database host,default empty")flag.IntVar(&port,"port",3306,"database host port,default 3306")flag.Parse()fmt.Printf("username=%s\n",username)fmt.Printf("password=%s\n",password)fmt.Printf("host=%s\n",host)fmt.Printf("username=%s\n",username)fmt.Printf("port=%d\n",port)// ./main.exe -u root -p 1201 -h 127.0.0.1 -port 33306//username=root//password=1201//host=127.0.0.1//username=root//port=33306 }

  


##### JSON 序列化
JSON 的全稱為JavaScript Object Notation ,它是一種輕量級的數據交換格式;
在JS 中一切皆對象,所以任何的數據類型都可以用JSON 來表示: 如Go 中的字符串,數組,切片,map,結構體等;
JSON 的序列化是指將有key-value 結構的數據類型(如結構體,map,切片)序列化成JSON 字符串的操作 package mainimport ("encoding/json""fmt" )// 如果需要序列化后的key 名自定義,需要使用tag type Person struct {Name string `json:"username"`Age int `json:"person_age"`// 對于結構體內不能導出字段// 首字母小寫的// 無法序列化extra string } func marshal(data interface{}) {body, err := json.Marshal(data)if err != nil {fmt.Println(err)fmt.Println("序列化失敗")return}fmt.Print("序列化后的數據為:")fmt.Println(string(body))} func structToJSON() {person := Person{"Tom",21,"i want be a teacher"}marshal(person)// {"username":"Tom","person_age":21} } func mapToJSON() {person := make(map[string]interface{})person["name"] = "Jack"person["age"] = 20person["extra"] = "i want play game"marshal(person) // {"age":20,"extra":"i want play game","name":"Jack"} } func sliceToJSON(){person := make([]string,0)person = append(person,"Tom")person = append(person,"Jack")person = append(person,"hey")marshal(person) // ["Tom","Jack","hey"] } func main() {structToJSON()mapToJSON()sliceToJSON() }

  


##### JSON 反序列化
JSON 反序列化是指將 JSON 字符串序列化成對應的數據類型(結構體,map,切片)的操作 package mainimport ("encoding/json""fmt" )func unmarshalMap(){str := `{"name":"tom","age":21,"extra":"i am english teacher"}`var person map[string]interface{}err := json.Unmarshal([]byte(str),&person)if err != nil {fmt.Println("JSON 反序列化失敗")fmt.Println(err)return}fmt.Print("序列化的結果為:")fmt.Println(person) //map[age:21 extra:i am english teacher name:tom] } func unmarshalSlice(){str := `["tom","jack","hey","joy"]`var person []stringerr := json.Unmarshal([]byte(str),&person)if err != nil {fmt.Println("JSON 反序列化失敗")fmt.Println(err)return}fmt.Print("序列化的結果為:")fmt.Println(person) //[tom jack hey joy] }func unmarshalStruct(){str := `{"name":"tom","age":21,"extra":"i am english teacher"}`var person struct{Name stringAge int// 反序列化也一樣,如果是不可導出字段// 則不能反序列化extra string}err := json.Unmarshal([]byte(str),&person)if err != nil {fmt.Println("JSON 反序列化失敗")fmt.Println(err)return}fmt.Print("序列化的結果為:")fmt.Println(person) //{tom 21 } } func main(){unmarshalMap()unmarshalStruct()unmarshalSlice() }

  最新文章在個人微信公眾號,歡迎關注, 一同交流學習;

轉載于:https://www.cnblogs.com/Mail-maomao/p/11555161.html

總結

以上是生活随笔為你收集整理的Go 命令行参数,JSON 序列化与反序列化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本二三区 | 我们的2018在线观看免费高清 | 国产不卡高清 | 成人漫画网站 | 中文在线a∨在线 | 亚洲福利一区二区三区 | 国产清纯白嫩初高中在线观看性色 | 国产第一福利 | 色婷婷综合久久久久中文字幕 | 蜜臀久久99精品久久久无需会员 | 色婷婷热久久 | 永久免费看mv网站入口亚洲 | 全部免费毛片在线播放高潮 | 国产女人视频 | 秋霞7777鲁丝伊人久久影院 | 一级片免费观看 | 国产精品乱子伦 | 草草视频在线播放 | 久久久久久久久久久久91 | 日本一区二区三区在线免费观看 | 国产又大又黄的视频 | 泰剧19禁啪啪无遮挡 | 欧美一区中文字幕 | 亚洲特黄一级片 | 色综合久 | 熟女高潮一区二区三区视频 | 国产精品成人无码专区 | 成人深夜视频 | 善良的老师伦理bd中字 | 99国产精品久久久久久久成人 | 亚洲最大视频网站 | 九九色播 | 亚洲美女性生活 | 91午夜在线 | 国产精品欧美综合亚洲 | 综合久久久久久久久久久 | 黄色小视频大全 | 日日夜夜天天干 | 免费在线亚洲 | 精品在线视频一区二区三区 | 国产美女久久久久 | 爱吃波客今天最新视频 | 在线观看亚洲精品视频 | 好色先生tv官网 | 亚洲日本护士毛茸茸 | 日本不卡一区在线 | 亚洲91网| 欧美在线视频二区 | 久久99精品久久久水蜜桃 | 成年人免费网站视频 | 中文字幕av一区二区三区谷原希美 | 日韩视频一区二区在线观看 | 欧日韩在线 | 久久婷婷色综合 | 少妇性l交大片免费观看 | 蜜桃久久av一区 | 非洲黑人狂躁日本妞 | 久久夜色精品亚洲 | 佐佐木明希电影 | 久久久精品久久久久 | 草民午夜理伦三级 | 免费精品无码AV片在线观看黄 | 人人爽人人爽人人爽 | 久操成人 | 自拍99 | 欧美xxxxav | 国产精品伦一区二区三区 | 99久久精品免费看国产免费软件 | 日本一级片在线播放 | 国产无遮挡呻吟娇喘视频 | 视频一区日韩 | 美女搡bbb又爽又猛又黄www | 台湾性生生活1 | 亚洲视频二区 | 欧美三级午夜理伦三级中视频 | 国产综合99 | 欧美大片在线免费观看 | aaaa毛片 | 亚洲最大成人综合网 | 黄色污污网站 | av色在线观看 | 国产黄色片视频 | www.黄色av| 啊av在线 | 韩国三色电费2024免费吗怎么看 | 九九三级| 天天爽天天爽夜夜爽毛片 | 日韩天堂视频 | 大学生一级一片全黄 | 四虎永久免费影院 | 成人激情视频在线播放 | 91精品国产色综合久久不卡蜜臀 | 日日网站 | 中国国产毛片 | 欧美日韩一区二区三区国产精品成人 | 免费色片网站 | www.在线视频| 成人一区二区三区视频 | 久久婷婷国产 |