日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

基于Golang的对象序列化的程序包开发——myJsonMarshal

發(fā)布時(shí)間:2023/11/28 生活经验 73 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Golang的对象序列化的程序包开发——myJsonMarshal 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基于Golang的對象序列化的程序包開發(fā)——myJsonMarshal【閱讀時(shí)間:約10分鐘】

  • 一、對象序列化概述
  • 二、系統(tǒng)環(huán)境&項(xiàng)目介紹
    • 1.系統(tǒng)環(huán)境
    • 2.項(xiàng)目的任務(wù)要求
  • 三、具體程序設(shè)計(jì)及Golang代碼實(shí)現(xiàn)
    • 1.程序設(shè)計(jì)
    • 2.JsonMarshal函數(shù)
    • 3.Marshal函數(shù)
    • 4.StringTrans函數(shù)
    • 5.StructTrans函數(shù)
    • 6.MapTrans函數(shù)
    • 7.SliceTrans函數(shù)
    • 8.ArrayTrans函數(shù)
    • 9.PtrTrans函數(shù)
  • 四、程序測試
    • 1.封裝并使用程序包
    • 2.功能測試
    • 3.單元測試
  • 五、中文 api 文檔
  • 六、完整代碼
  • 七、References

一、對象序列化概述

將一個(gè)對象寫成特定文本格式的字符流,稱為序列化。在本次開發(fā)的程序包myJsonMarshal中,我們可以利用它將將結(jié)構(gòu)數(shù)據(jù)格式化為 json 字符流。


二、系統(tǒng)環(huán)境&項(xiàng)目介紹

1.系統(tǒng)環(huán)境

操作系統(tǒng):CentOS7
硬件信息:使用virtual box配置虛擬機(jī)(內(nèi)存3G、磁盤30G)
編程語言:GO 1.15.2

2.項(xiàng)目的任務(wù)要求

  1. 參考官方 encoding/json 包 Marshal 函數(shù),將結(jié)構(gòu)數(shù)據(jù)格式化為 json 字符流
    • 必須導(dǎo)出 func JsonMarshal(v interface{}) ([]byte, error)
    • 可以參考、甚至復(fù)制原來的代碼
    • 支持字段的標(biāo)簽(Tag),標(biāo)簽滿足 mytag:"你自己的定義"
    • 不允許使用第三方包
  2. 包必須包括以下內(nèi)容:
    • 生成的中文 api 文檔
    • 有較好的 Readme 文件,包括一個(gè)簡單的使用案例
    • 每個(gè)go文件必須有對應(yīng)的測試文件



三、具體程序設(shè)計(jì)及Golang代碼實(shí)現(xiàn)

1.程序設(shè)計(jì)

本次程序包開發(fā)實(shí)現(xiàn)較為簡單,只要根據(jù)輸入的結(jié)構(gòu)數(shù)據(jù)的類型,逐步分為多種基礎(chǔ)的類型,如int、string和array等,然后將輸入數(shù)據(jù)及其類型轉(zhuǎn)為byte[],再轉(zhuǎn)為json格式的字符流即可。
其中,參考官方 encoding/json 包 Marshal 函數(shù),在判斷數(shù)據(jù)類型時(shí)用到了reflect程序包。
myJsonMarshal程序包的函數(shù)架構(gòu)如下:

下面按照myJsonMarshal程序包的源碼順序來依次介紹數(shù)據(jù)結(jié)構(gòu)和相關(guān)函數(shù)。

2.JsonMarshal函數(shù)

//JsonMarshal 輸入結(jié)構(gòu)化數(shù)據(jù),返回json字符流和error
func JsonMarshal(v interface{}) ([]byte, error) {b, err := Marshal(v)if err != nil {return nil, err}return b, nil
}

JsonMarshal函數(shù)是本程序包的主要接口,通過輸入結(jié)構(gòu)化數(shù)據(jù),可以返回json字符流和報(bào)錯(cuò)信息error。


3.Marshal函數(shù)

//Marshal 將接口數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)為json字符流
func Marshal(v interface{}) ([]byte, error) {json := reflect.ValueOf(v)typeJson := json.Type()switch typeJson.Kind() {case reflect.Invalid:return []byte("Invalid"), errors.New("Invalid")case reflect.Bool, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32,reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32,reflect.Uint64, reflect.Float32, reflect.Float64:return []byte(fmt.Sprintf("%v", json.Interface())), nilcase reflect.String:return StringTrans(v)case reflect.Struct:return StructTrans(v)case reflect.Map:return MapTrans(v)case reflect.Slice:return SliceTrans(v)case reflect.Array:return ArrayTrans(v)case reflect.Ptr:return PtrTrans(v)default:return []byte("unsupportedTypeTrans"), errors.New("unsupportedTypeTrans")}
}

Marshal函數(shù)調(diào)用reflect程序包,通過switch-case語句,將不同接口數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)為json字符流。



4.StringTrans函數(shù)

//StringTrans 將string數(shù)據(jù)轉(zhuǎn)為json字符流
func StringTrans(v interface{}) ([]byte, error) {json := reflect.ValueOf(v)return []byte("\"" + json.String() + "\""), nil
}

StringTrans函數(shù)將string數(shù)據(jù)轉(zhuǎn)為json字符流


5.StructTrans函數(shù)

//StructTrans 將struct數(shù)據(jù)轉(zhuǎn)為json字符流
func StructTrans(v interface{}) ([]byte, error) {json := reflect.ValueOf(v)typeJson := json.Type()b := "{"for i := 0; i < json.NumField(); i++ {if i > 0 {b = b + ","}tag := typeJson.Field(i).Tag.Get("mytag")if tag == "" {b = b + "\"" + typeJson.Field(i).Name + "\":"} else {b = b + "\"" + tag + "\":"}tmp, err := Marshal(json.Field(i).Interface())if err != nil {return nil, err}b = b + string(tmp)}b = b + "}"return []byte(b), nil
}

StructTrans函數(shù)將struct數(shù)據(jù)轉(zhuǎn)為json字符流,并且支持字段的標(biāo)簽(Tag),標(biāo)簽滿足 mytag:"你自己的定義"。如果變量打上了mytag標(biāo)簽,如Name旁邊的 mytag:"name" ,那么轉(zhuǎn)化成的json key就用該標(biāo)簽“name”,否則取變量名作為key。


6.MapTrans函數(shù)

//MapTrans 將map數(shù)據(jù)轉(zhuǎn)為json字符流
func MapTrans(v interface{}) ([]byte, error) {json := reflect.ValueOf(v)i := json.MapRange()first := trueb := "{"for i.Next() {if first {first = false} else {b = b + ","}b = b + "\"" + fmt.Sprintf("\"%v\":", i.Key()) + "\":"tmp, err := Marshal(i.Value().Interface())if err != nil {return nil, err}b = b + string(tmp)}b = b + "}"return []byte(b), nil
}

MapTrans函數(shù)將map數(shù)據(jù)轉(zhuǎn)為json字符流


7.SliceTrans函數(shù)

//SliceTrans 將slice數(shù)據(jù)轉(zhuǎn)為json字符流
func SliceTrans(v interface{}) ([]byte, error) {json := reflect.ValueOf(v)b := "["for i := 0; i < json.Len(); i++ {if i > 0 {b = b + ","}tmp, err := Marshal(json.Index(i).Interface())if err != nil {return nil, err}b = b + string(tmp)}b = b + "]"return []byte(b), nil
}

SliceTrans函數(shù)將slice數(shù)據(jù)轉(zhuǎn)為json字符流



8.ArrayTrans函數(shù)

//ArrayTrans 將array數(shù)據(jù)轉(zhuǎn)為json字符流
func ArrayTrans(v interface{}) ([]byte, error) {json := reflect.ValueOf(v)b := "["for i := 0; i < json.Len(); i++ {if i > 0 {b = b + ","}tmp, err := Marshal(json.Index(i).Interface())if err != nil {return nil, err}b = b + string(tmp)}b = b + "]"return []byte(b), nil
}

ArrayTrans函數(shù)將array數(shù)據(jù)轉(zhuǎn)為json字符流


9.PtrTrans函數(shù)

//PtrTrans 將ptr數(shù)據(jù)轉(zhuǎn)為json字符流
func PtrTrans(v interface{}) ([]byte, error) {json := reflect.ValueOf(v)return Marshal(json.Elem().Interface())
}

StringTrans函數(shù)將ptr數(shù)據(jù)轉(zhuǎn)為json字符流,指針變量編碼時(shí)自動轉(zhuǎn)換為它所指向的值。



四、程序測試

1.封裝并使用程序包

將項(xiàng)目myJsonMarshal的myJsonMarshal.go文件的main函數(shù)注釋掉,package改為package myJsonMarshal,然后執(zhí)行如下指令:

go build

在其他路徑下建立main.go,并調(diào)用myJsonMarshal.JsonMarshal函數(shù)即可。



2.功能測試

功能測試主要從用戶角度測試程序包的功能,步驟如下:
創(chuàng)建main.go文件,內(nèi)容如下(結(jié)構(gòu)化數(shù)據(jù)類型及其數(shù)值可自定義):

package mainimport ("fmt""github.com/user/myJsonMarshal"
)type Stu struct {Name  string `mytag:"name"`Age   intHIgh  boolClass *Class `mytag:"class"`
}type Class struct {Name  stringGrade int
}func main() {//實(shí)例化一個(gè)數(shù)據(jù)結(jié)構(gòu),用于生成json字符串stu := Stu{Name: "張三",Age:  18,HIgh: true,}//指針變量cla := new(Class)cla.Name = "1班"cla.Grade = 3stu.Class = cla//Marshal失敗時(shí)err!=niljsonStu, err := myJsonMarshal.JsonMarshal(stu)if err != nil {fmt.Println("生成json字符串錯(cuò)誤")}//jsonStu是[]byte類型,轉(zhuǎn)化成string類型便于查看fmt.Println(string(jsonStu))
}

運(yùn)行結(jié)果:

由此可知程序包的功能測試正常,符合的程序包的幾個(gè)要求:
①結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)為json字符流
②支持字段的標(biāo)簽(Tag),標(biāo)簽滿足 mytag:"你自己的定義"
③指針變量編碼時(shí)自動轉(zhuǎn)換為它所指向的值



3.單元測試

單元測試主要從程序員角度,對程序包的具體函數(shù)進(jìn)行測試。
建立myJsonMarshal_test.go文件,對程序包的每個(gè)函數(shù)進(jìn)行單元測試如下,代碼如下:

package myJsonMarshalimport ("fmt""testing"
)type Stu struct {Name  string `mytag:"name"`Age   intHIgh  boolClass *Class `mytag:"class"`
}type Class struct {Name  stringGrade int
}func Test_JsonMarshal(t *testing.T) {//實(shí)例化一個(gè)數(shù)據(jù)結(jié)構(gòu),用于生成json字符串stu := Stu{Name: "張三",Age:  18,HIgh: true,}//指針變量cla := new(Class)cla.Name = "1班"cla.Grade = 3stu.Class = cla//Marshal失敗時(shí)err!=niljsonStu, err := JsonMarshal(stu)if err != nil {fmt.Println("生成json字符串錯(cuò)誤")}want := "{\"name\":\"張三\",\"Age\":18,\"HIgh\":true,\"class\":{\"Name\":\"1班\",\"Grade\":3}}"got := string(jsonStu)if got != want {t.Errorf("\n got %s\n want %s\n", got, want)}
}func Test_Marshal(t *testing.T) {//實(shí)例化一個(gè)數(shù)據(jù)結(jié)構(gòu),用于生成json字符串stu := Stu{Name: "張三",Age:  18,HIgh: true,}//指針變量cla := new(Class)cla.Name = "1班"cla.Grade = 3stu.Class = cla//Marshal失敗時(shí)err!=niljsonStu, err := Marshal(stu)if err != nil {fmt.Println("生成json字符串錯(cuò)誤")}want := "{\"name\":\"張三\",\"Age\":18,\"HIgh\":true,\"class\":{\"Name\":\"1班\",\"Grade\":3}}"got := string(jsonStu)if got != want {t.Errorf("\n got %s\n want %s\n", got, want)}
}func Test_StringTrans(t *testing.T) {//實(shí)例化一個(gè)數(shù)據(jù)結(jié)構(gòu),用于生成json字符串test := "unit test"//Marshal失敗時(shí)err!=niljsonStu, err := StringTrans(test)if err != nil {fmt.Println("生成json字符串錯(cuò)誤")}want := "\"unit test\""got := string(jsonStu)if got != want {t.Errorf("\n got %s\n want %s\n", got, want)}
}func Test_StructTrans(t *testing.T) {//實(shí)例化一個(gè)數(shù)據(jù)結(jié)構(gòu),用于生成json字符串test := Class{Name:  "1班",Grade: 3,}//Marshal失敗時(shí)err!=niljsonStu, err := StructTrans(test)if err != nil {fmt.Println("生成json字符串錯(cuò)誤")}want := "{\"Name\":\"1班\",\"Grade\":3}"got := string(jsonStu)if got != want {t.Errorf("\n got %s\n want %s\n", got, want)}
}func Test_MapTrans(t *testing.T) {//實(shí)例化一個(gè)數(shù)據(jù)結(jié)構(gòu),用于生成json字符串test := map[string]int{"one":   1,"two":   2,"three": 3,}//Marshal失敗時(shí)err!=niljsonStu, err := MapTrans(test)if err != nil {fmt.Println("生成json字符串錯(cuò)誤")}want := "{\"\"one\":\":1,\"\"two\":\":2,\"\"three\":\":3}"got := string(jsonStu)if got != want {t.Errorf("\n got %s\n want %s\n", got, want)}
}func Test_SliceTrans(t *testing.T) {//實(shí)例化一個(gè)數(shù)據(jù)結(jié)構(gòu),用于生成json字符串test := []int{1, 2, 3}//Marshal失敗時(shí)err!=niljsonStu, err := SliceTrans(test)if err != nil {fmt.Println("生成json字符串錯(cuò)誤")}want := "[1,2,3]"got := string(jsonStu)if got != want {t.Errorf("\n got %s\n want %s\n", got, want)}
}func Test_ArrayTrans(t *testing.T) {//實(shí)例化一個(gè)數(shù)據(jù)結(jié)構(gòu),用于生成json字符串test := [3]int{1, 2, 3}//Marshal失敗時(shí)err!=niljsonStu, err := ArrayTrans(test)if err != nil {fmt.Println("生成json字符串錯(cuò)誤")}want := "[1,2,3]"got := string(jsonStu)if got != want {t.Errorf("\n got %s\n want %s\n", got, want)}
}func Test_PtrTrans(t *testing.T) {//實(shí)例化一個(gè)數(shù)據(jù)結(jié)構(gòu),用于生成json字符串test := new(Class)test.Name = "1班"test.Grade = 3//Marshal失敗時(shí)err!=niljsonStu, err := PtrTrans(test)if err != nil {fmt.Println("生成json字符串錯(cuò)誤")}want := "{\"Name\":\"1班\",\"Grade\":3}"got := string(jsonStu)if got != want {t.Errorf("\n got %s\n want %s\n", got, want)}
}

在執(zhí)行單元測試時(shí),我們可以像上一次博客一樣【博客】,在vscode中便捷地對每個(gè)函數(shù)進(jìn)行test run,當(dāng)編寫單個(gè)函數(shù)的測試函數(shù)時(shí),筆者更推薦這種方式。
當(dāng)然,也可以像本次博客一樣,在項(xiàng)目目錄下,輸入以下指令:

go test -v myJsonMarshal_test.go myJsonMarshal.go 

單元測試結(jié)果如下:

[henryhzy@localhost myJsonMarshal]$ go test -v myJsonMarshal_test.go myJsonMarshal.go 
=== RUN   Test_JsonMarshal
--- PASS: Test_JsonMarshal (0.00s)
=== RUN   Test_Marshal
--- PASS: Test_Marshal (0.00s)
=== RUN   Test_StringTrans
--- PASS: Test_StringTrans (0.00s)
=== RUN   Test_StructTrans
--- PASS: Test_StructTrans (0.00s)
=== RUN   Test_MapTrans
--- PASS: Test_MapTrans (0.00s)
=== RUN   Test_SliceTrans
--- PASS: Test_SliceTrans (0.00s)
=== RUN   Test_ArrayTrans
--- PASS: Test_ArrayTrans (0.00s)
=== RUN   Test_PtrTrans
--- PASS: Test_PtrTrans (0.00s)
PASS
ok  	command-line-arguments	0.002s



五、中文 api 文檔

首先安裝godoc如下:

git clone https://github.com/golang/tools $GOPATH/src/golang.org/x/tools
go build golang.org/x/tools

在項(xiàng)目myJsonMarshal所在目錄下,執(zhí)行如下指令:

go install
go doc
godoc -url="pkg/github.com/user/myJsonMarshal" > API.html

便會在當(dāng)前目錄下生成API.html文件:

【注意:程序包的函數(shù)名開頭應(yīng)為大寫字母,對于函數(shù)A若含有注釋,注釋的開頭也應(yīng)為//A。】



六、完整代碼

具體代碼可見gitee倉庫:gitee


七、References

  1. 課程博客
  2. go json.Marshal 編組函數(shù)講解
  3. 官方 encoding/json 包

總結(jié)

以上是生活随笔為你收集整理的基于Golang的对象序列化的程序包开发——myJsonMarshal的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久久中文字幕导航 | 国产视频不卡 | 精品二区视频 | 青草草在线视频 | 亚洲国产成人久久综合 | 亚洲精品白浆高清久久久久久 | 国产色视频123区 | 97超视频 | 91香蕉亚洲精品 | 毛片无卡免费无播放器 | 日日干av | 国产精品99久久久精品免费观看 | 成人久久 | 免费黄色av电影 | 亚洲精品在线免费看 | 久久久久久免费网 | 亚洲丝袜中文 | 99免费在线观看 | 狠狠狠综合 | 韩国av一区 | 玖操 | 91在线视频免费播放 | 三级av免费看 | 免费看国产黄色 | 一级黄色在线免费观看 | 成人va在线观看 | 天天色综合天天 | 91传媒在线看 | 99久久激情视频 | 国产欧美精品一区二区三区四区 | 久久艹精品 | 久久久夜色 | 欧美精品在线观看 | 中文字幕 国产精品 | 成人97视频| 亚洲精品久久久蜜桃直播 | 免费在线成人av电影 | 中文字幕欧美日韩va免费视频 | 制服丝袜一区二区 | 黄色一集片 | 日韩免费高清在线 | 色综合在| 国产亚洲精品久久久久动 | 亚洲精品影院在线观看 | 91在线看视频免费 | 国产99久久久国产精品免费二区 | 亚洲精品国产精品国自 | 综合激情久久 | 亚洲日本成人网 | 久久亚洲人 | 日本久久久久 | 亚洲专区 国产精品 | 欧美国产日韩一区 | 成人国产一区 | 91桃色免费视频 | 美女黄视频免费看 | 日本中文字幕高清 | 国产香蕉视频 | 久久99久久99免费视频 | 激情五月综合网 | 天天躁日日 | 色成人亚洲网 | 2021国产在线 | 西西www444 | 国产二区精品 | 国产一级在线免费观看 | 久久久国产精品久久久 | 色婷婷啪啪免费在线电影观看 | 久草在线视频在线观看 | 中文字幕 在线看 | 天天操天天干天天玩 | 99亚洲精品在线 | 亚洲va天堂va欧美ⅴa在线 | 中国一区二区视频 | 天天综合网在线 | 在线免费观看一区二区三区 | 蜜臀av性久久久久蜜臀av | 日韩首页 | 久久国色夜色精品国产 | 国产99在线播放 | 成年人黄色av | 欧美精品久久99 | 香蕉久久久久久av成人 | 亚洲精品在线免费看 | 日韩字幕在线 | 99看视频在线观看 | 综合五月婷婷 | 黄色小说免费在线观看 | 中文字幕在线观看2018 | 91麻豆精品国产91久久久久久久久 | 欧美日韩在线观看一区二区三区 | 特级黄色电影 | 91精品国产成人 | 国产精品白丝av | 欧美激情精品久久久久 | 五月激情综合婷婷 | 成人性生爱a∨ | 久久爱资源网 | 中文字幕免费观看全部电影 | 日韩色综合网 | 日韩中文字幕视频在线 | 激情综合五月天 | 黄色软件大全网站 | 免费在线国产视频 | 国产一区二区三区免费观看视频 | 在线看岛国av| 在线网址你懂得 | 99九九免费视频 | 黄污网站在线观看 | 98精品国产自产在线观看 | 丁香激情综合 | 999亚洲国产996395 | av中文天堂 | 91少妇精拍在线播放 | 天天干天天操天天拍 | 美女视频a美女大全免费下载蜜臀 | 天天天天天干 | 少妇高潮流白浆在线观看 | 99热超碰 | 激情黄色一级片 | 国产亚洲视频在线观看 | 91丨九色丨国产在线观看 | 国产在线观看一 | 精品1区二区| 日韩色在线 | 国产成人三级一区二区在线观看一 | 精品久久久久国产免费第一页 | 国产午夜精品理论片在线 | 999国产 | 免费看国产精品 | 国产精品久久电影观看 | 欧美 日韩 成人 | 久草视频在线免费 | 久久人人精品 | 激情av资源网 | 成人禁用看黄a在线 | 国产手机在线 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 六月丁香婷婷久久 | 在线观看免费中文字幕 | 国产成人av电影在线 | 国产理论免费 | 亚洲国产成人高清精品 | 亚洲三级在线播放 | 天天干天天做天天爱 | 婷婷伊人综合亚洲综合网 | 欧美黑人xxxx猛性大交 | 国产在线观看午夜 | 亚洲黄色免费电影 | 国产视频2区 | 国产专区视频在线观看 | 草在线视频| 欧美 日韩 性| 国产精品永久免费在线 | 欧美最猛性xxxx | 日韩中文在线字幕 | 久操视频在线观看 | 奇米网444| 久草国产在线 | 亚洲日本va在线观看 | 国产精品原创视频 | 久久av免费 | 亚洲视频久久久久 | 啪啪激情网 | 四虎国产精品成人免费4hu | 亚洲国产精品视频在线观看 | 91看片在线播放 | 欧美日本不卡高清 | 国产 在线 日韩 | 在线观看精品一区 | 久久99亚洲精品久久 | av7777777| 一二三区av | 在线视频一区二区 | 丰满少妇麻豆av | 国产在线精品播放 | 久久久激情视频 | 五月婷婷国产 | 丁香一区二区 | 成人在线观看资源 | 国产手机在线视频 | 国产在线观看国语版免费 | 国产精品久久久久av福利动漫 | 国产精品成久久久久 | 国产网站av | 麻豆精品传媒视频 | 久久蜜桃av| 日本精品视频在线观看 | 免费在线观看黄网站 | 成人国产精品 | 九九在线视频免费观看 | 国产精品一区二区三区99 | 中文字幕 成人 | 国产精品久久久久久一区二区三区 | 成人在线一区二区三区 | 国产一区在线视频观看 | 欧美va天堂在线电影 | 国产精品ⅴa有声小说 | 在线看片中文字幕 | 亚洲伦理一区 | 在线观看黄色国产 | 黄色字幕网 | 男女靠逼app| 四虎4hu永久免费 | 免费国产在线视频 | 973理论片235影院9 | 久久99国产精品免费网站 | 国产精品免费一区二区三区 | 日韩专区 在线 | 国产精品12 | 日韩天天操| 亚洲激情p | 国产欧美日韩一区 | 依人成人综合网 | 日韩精品一区二区在线观看视频 | 在线精品视频免费播放 | 少妇自拍av| 国产色啪 | 久久久久久国产一区二区三区 | 操久在线 | 91成人观看 | 狠狠色丁香久久婷婷综合丁香 | 欧美一级免费片 | 久久免费观看视频 | 日韩毛片在线一区二区毛片 | 天天射天天爽 | av电影一区二区三区 | 99产精品成人啪免费网站 | 色搞搞| 日韩精品免费在线播放 | 久久精品视频网 | 丁香婷婷激情 | 久久精品成人 | 人人草人人草 | 亚洲欧美日韩一级 | 综合网伊人 | 久久男人视频 | 日本特黄特色aaa大片免费 | wwxxxx日本| 超碰免费av | 天天碰天天操视频 | 一区二区三区四区五区在线 | 国产在线观看午夜 | 精品视频资源站 | 黄色aaaaa| 国产精品久久久久久高潮 | 亚洲黄色a | 日韩欧美在线综合网 | 国产精品国产三级国产aⅴ9色 | 97成人精品视频在线观看 | 黄色a级片在线观看 | 福利一区二区 | 日韩在线观看视频一区二区三区 | 国产性天天综合网 | 国产在线色 | 最新黄色av网址 | 亚洲作爱视频 | av+在线播放在线播放 | 欧美成人高清 | 激情婷婷六月 | 日韩免费中文 | 日韩久久电影 | www.黄色| 99精品视频在线免费观看 | 四虎在线视频免费观看 | 日韩一级黄色av | 国产在线高清视频 | 99精品国产亚洲 | 亚洲欧美国产精品 | 草久久久久 | 国产一级电影免费观看 | 91亚洲精品乱码久久久久久蜜桃 | 免费高清男女打扑克视频 | 国产九色在线播放九色 | 成人九九视频 | 欧美色综合 | 在线视频手机国产 | 日韩成人高清在线 | 亚洲一区精品人人爽人人躁 | 91久久爱热色涩涩 | 日韩v欧美v日本v亚洲v国产v | 成人av一区二区三区 | 玖玖在线免费视频 | 日本三级久久 | 日韩美女高潮 | www.夜夜骑.com | 激情久久久久久久久久久久久久久久 | 亚洲精品免费视频 | 国内精品久久久久影院日本资源 | 国产中文字幕在线观看 | av免费片 | 成人日批视频 | 综合天天 | 日本公妇在线观看高清 | 五月天婷婷丁香花 | 国产精品久久久久久久久久免费看 | 男女免费av | 国产精品伦一区二区三区视频 | 激情五月视频 | 99爱国产精品 | 国产精品久久久久四虎 | 亚洲免费观看视频 | 国产精品不卡av | 色偷偷中文字幕 | 在线观看蜜桃视频 | 欧美日韩国产在线一区 | 成在线播放| 日韩欧美高清视频在线观看 | 免费看国产a | 欧美久久久久久久久 | www.国产精品| 亚洲视频999| 黄色av电影在线 | 久久不卡视频 | 2019中文| 国产精品久久久久一区二区国产 | 亚洲精品网页 | 97超碰在线人人 | 色橹橹欧美在线观看视频高清 | 成人不用播放器 | 中文字幕在线观看免费高清电影 | 99精品免费在线 | 六月丁香激情综合色啪小说 | 精品久久美女 | 精品久久久久久久久久久院品网 | 国产成人精品日本亚洲999 | 久久久激情视频 | 国产又粗又猛又色又黄视频 | 免费高清国产 | 人人草在线视频 | 久草99| 98超碰在线 | 国产成人三级 | 中文字幕第 | 国内精品久久久久影院一蜜桃 | 91亚·色| 亚洲欧洲在线视频 | 日精品 | 天天操天天操天天操天天操天天操天天操 | 亚洲人在线视频 | 久久国产美女视频 | 亚洲毛片久久 | 久久久久亚洲国产精品 | 色哟哟国产精品 | 色香网| 婷婷色伊人 | 国产xx视频| 97超碰人人模人人人爽人人爱 | 在线观看中文字幕亚洲 | 国产精品乱码一区二区视频 | 精品在线观看国产 | 亚洲免费在线播放视频 | 日韩精品视频免费 | 日韩经典一区二区三区 | 日韩免费在线一区 | 免费成人av电影 | 久久久久99999| 中文字幕第一页在线 | 深夜福利视频一区二区 | 97视频在线观看免费 | 国产在线视频资源 | 精品久久久久久一区二区里番 | 日韩 在线a | 天天操天天操天天操天天操 | 国产美腿白丝袜足在线av | 国产精品手机播放 | 日韩精品大片 | 久久伦理电影 | 黄色一集片 | 国产一级电影免费观看 | www99久久 | 免费看的视频 | 最近中文字幕视频完整版 | 91中文视频 | 国产日韩中文在线 | 成人黄色电影视频 | 久久精品视频18 | 国产黄a三级 | 亚洲精品视频免费在线观看 | 91av久久 | 伊人干综合 | 91九色精品女同系列 | 狠狠久久 | 九七视频在线观看 | 中文字幕大全 | 国产一级在线免费观看 | 九九免费在线观看视频 | 福利网址在线观看 | 亚洲欧洲日韩在线观看 | 91最新在线视频 | 最近中文字幕在线中文高清版 | 精品久久久久久久久久久久久久久久久久 | 日韩午夜在线观看 | 国产日韩精品一区二区三区在线 | 国产亚洲精品久久久久久无几年桃 | 成年人免费在线观看 | 日韩欧美一级二级 | 免费成人在线视频网站 | 人人爽人人搞 | 中文字幕在线有码 | 国产精品一区二区久久精品爱涩 | 中国老女人日b | 亚洲天天在线 | 九九免费精品视频在线观看 | 狠狠狠狠狠狠天天爱 | 91视频在线播放视频 | 91女人18片女毛片60分钟 | 国产综合小视频 | 制服丝袜亚洲 | 狠狠狠色狠狠色综合 | 天天色成人 | 在线中文字幕一区二区 | 国产美女精品在线 | 中文字幕第| 日本99久久 | 亚洲码国产日韩欧美高潮在线播放 | 香蕉精品视频在线观看 | 91av精品| 美女性爽视频国产免费app | 久久成人精品电影 | 91久久久久久久一区二区 | 又大又硬又黄又爽视频在线观看 | 日韩在线视频免费观看 | 午夜视频二区 | www夜夜操com| 香蕉网在线观看 | 色香com. | 日本久久不卡视频 | 国内精品久久久久影院日本资源 | 婷婷爱五月天 | 97成人在线免费视频 | www91在线观看 | 欧美亚洲国产精品久久高清浪潮 | 成人97人人超碰人人99 | 夜夜操网 | 亚洲aⅴ乱码精品成人区 | 国产区第一页 | 天天干,天天操,天天射 | 在线看日韩av | 免费三级影片 | av不卡中文 | 亚洲精品一区二区三区新线路 | 国产免费精彩视频 | 久久久黄色av | 日韩高清一二三区 | 日本中文字幕电影在线免费观看 | 不卡的av在线播放 | 97在线视频网站 | www天天干 | 国产一级电影免费观看 | 高清av中文字幕 | 欧美激情在线看 | 一区二区三区四区精品 | 91av视屏| 最新国产福利 | 色欧美成人精品a∨在线观看 | 视频一区二区免费 | 粉嫩aⅴ一区二区三区 | 久久这里有 | 国产亚洲欧洲 | 亚洲最大免费成人网 | 中文字幕一区二区三区在线视频 | www.色午夜 | 久久成人免费视频 | 免费碰碰| 国产精品一区二区在线看 | 国产精品一二三 | 久久成人国产精品 | 欧美视频日韩 | 欧美精品在线一区二区 | 综合色站 | 亚洲一区二区三区毛片 | 久久99久久久久 | 黄色三级免费观看 | 午夜久久久久久久久久影院 | 91成人免费观看视频 | 国产精品白浆 | 欧美贵妇性狂欢 | 公开超碰在线 | 亚洲美女视频在线观看 | 国产一级a毛片视频爆浆 | 99精品视频在线播放观看 | 91精品视频网站 | 日韩av在线高清 | 成年人免费看的视频 | 国产成人精品999 | 欧美成人理伦片 | 91成人在线看 | 久久久精品久久 | 久久精品免费观看 | www.久久成人| av电影中文字幕 | 又湿又紧又大又爽a视频国产 | 亚洲人成在线电影 | 波多野结衣久久资源 | 六月天综合网 | 99久久99久国产黄毛片 | 97免费中文视频在线观看 | 337p日本大胆噜噜噜噜 | 在线看片一区 | 777久久久| 中文av网 | 性色av香蕉一区二区 | 黄色国产在线观看 | 97色狠狠 | 日韩av中文在线观看 | 久久情爱 | 中文字幕av最新 | 精品在线观看视频 | 伊人天天干| 日韩一区二区在线免费观看 | 97伊人网| 狠狠躁夜夜躁人人爽超碰97香蕉 | 97成人免费视频 | 婷婷精品国产一区二区三区日韩 | 亚洲女人天堂成人av在线 | 欧美精品免费在线 | 亚洲国产中文在线 | 国产在线观看午夜 | 亚洲特级毛片 | 91av影视 | 亚州精品在线视频 | av综合在线观看 | 激情综合网五月激情 | 欧美动漫一区二区三区 | 91成人久久| 成人黄色在线观看视频 | 四虎永久视频 | 又爽又黄又无遮挡网站动态图 | 精品uu| 色噜噜色噜噜 | 国产精品自在线 | 色婷婷激情四射 | 亚洲精品综合久久 | 色av男人的天堂免费在线 | 91在线资源| 亚洲国产三级在线观看 | 国产精品久久久久久久久蜜臀 | 日日干视频| 最近中文字幕完整高清 | 成人黄色免费在线观看 | av电影免费观看 | 中文有码在线 | 国产精品午夜在线 | 福利网址在线观看 | 91香蕉视频720p | 日韩成人黄色 | 在线观看免费黄视频 | 91精品视频免费 | 亚洲一区二区精品3399 | 成人在线一区二区 | 二区三区在线 | 日韩h在线观看 | 欧美日韩视频精品 | 伊人中文在线 | 色综合久久88色综合天天免费 | 婷婷色九月 | 色wwwww| 欧美a√大片 | 成人黄色小视频 | 亚洲成人精品在线 | 丁香激情综合国产 | 日韩毛片在线一区二区毛片 | 毛片基地黄久久久久久天堂 | 97在线观看视频国产 | 9999国产| 久久这里只有精品视频99 | 免费在线看成人av | 91爱爱网址 | 久久久久黄 | 日韩av二区 | 久免费| 国产精品免费视频一区二区 | 国产精品亚洲成人 | 国产最新在线观看 | 成人免费观看完整版电影 | 国产在线观看网站 | 色婷久久 | 日本精品视频在线观看 | 久久久久久久久久久久久久电影 | 国产伦精品一区二区三区免费 | 美女久久一区 | 婷婷久久亚洲 | 成人av资源站 | 欧美xxxx性xxxxx高清 | 亚洲va欧美va国产va黑人 | 国产午夜av | 久久精品久久99 | 日韩 在线a| 最近中文字幕国语免费高清6 | 在线黄av | 日韩在线免费小视频 | 欧美日韩在线播放 | 一区二区三区动漫 | 国产五月色婷婷六月丁香视频 | 99av在线视频 | 午夜12点 | 在线免费观看视频一区二区三区 | 亚洲黄色免费 | 久久精品香蕉视频 | 日韩午夜高清 | 免费在线a| 91亚洲精品在线 | 狠狠色丁婷婷日日 | 国产成人久久精品77777 | 玖玖爱国产在线 | 国产精品视频内 | 国产成人在线观看 | 天天爽夜夜爽人人爽一区二区 | 久草在线资源视频 | 免费观看午夜视频 | 亚洲丁香久久久 | 成人久久毛片 | 中文在线字幕免费观看 | 99热精品免费观看 | 一区二区 不卡 | 欧美一区免费在线观看 | 黄色亚洲大片免费在线观看 | 国产理论免费 | 四虎成人在线 | 亚洲精品视频大全 | 亚洲永久精品在线观看 | 最新中文字幕在线观看视频 | 91中文字幕在线视频 | 精品国产伦一区二区三区观看说明 | 天天看天天干天天操 | 亚洲精品美女在线观看播放 | 欧美一级特黄aaaaaa大片在线观看 | 亚洲精品在线免费播放 | 青草视频在线看 | 欧美小视频在线 | 成年人在线免费看 | 日韩欧美99 | 欧美日韩视频在线观看一区二区 | 国产视频一区在线免费观看 | 在线观看香蕉视频 | 午夜精选视频 | a黄色片在线观看 | 国产99久久久国产精品 | 国产自在线观看 | 欧美粗又大 | 毛片888 | 久久视讯| 日日干夜夜骑 | 国产美女久久久 | 中文字幕亚洲欧美日韩 | 五月激情天| 国产精品1区2区在线观看 | 国产视频亚洲 | 欧美激情综合网 | 91精品蜜桃 | 黄色日本免费 | 又黄又刺激视频 | 国产黄色在线看 | 婷婷精品国产一区二区三区日韩 | 天天草网站 | 在线免费观看黄色大片 | 成人小视频在线观看免费 | 亚洲天天综合 | 国语自产偷拍精品视频偷 | 中文字幕在线观看完整版 | 亚洲va男人天堂 | 欧美在线视频精品 | 色婷婷精品 | 99热在线国产 | 欧美精彩视频在线观看 | av先锋中文字幕 | 91精品啪啪| 成人国产精品电影 | 超碰公开在线 | 欧美激情视频在线免费观看 | 久久影院午夜论 | 免费瑟瑟网站 | 亚洲精品免费视频 | 激情综合网婷婷 | 人人爽久久久噜噜噜电影 | 午夜美女av | 麻花豆传媒一二三产区 | 久久免费黄色网址 | 国产又粗又猛又黄又爽 | 久久久久一区 | 97电影网站 | 成人国产精品久久久久久亚洲 | 国产一区视频在线 | 日韩中文字幕免费电影 | 日韩精品一区二区三区不卡 | 激情五月色播五月 | 日日夜夜天天 | 日韩精品在线一区 | 日韩欧美在线一区 | 精品国产乱码一区二区三区在线 | 黄色一区二区在线观看 | 午夜在线观看一区 | 91日韩精品一区 | 亚洲在线黄色 | 国产精品视频永久免费播放 | 欧美日韩在线免费视频 | 91爱看片| 91精品一区国产高清在线gif | 91精品久久久久久久91蜜桃 | 99精品免费在线 | 亚洲国产日韩精品 | 成人羞羞视频在线观看免费 | 亚洲区另类春色综合小说校园片 | 亚洲a网| 成人在线视频免费看 | 久久视了 | www.天天干.com| 欧美精品一二 | 国产高清黄 | av一本久道久久波多野结衣 | 一区二区三区免费看 | 久久精品视频一 | 亚洲精品电影在线 | a在线播放 | 国产免费视频一区二区裸体 | 五月开心六月伊人色婷婷 | 麻豆免费在线播放 | 日韩免费b | 久久久久欠精品国产毛片国产毛生 | 天天色天天色天天色 | 欧美日韩观看 | 五月视频 | 一区二区三区 中文字幕 | 日韩在线国产精品 | www91在线观看 | 一级免费片 | 成人app在线免费观看 | 国产五月婷 | 中文区中文字幕免费看 | 精品视频中文字幕 | 日产中文字幕 | 国产亚洲在线视频 | 国产亚洲精品久久久久久久久久 | 欧美日韩国产一区二 | 国产不卡精品视频 | 日韩欧美视频一区 | 久久久黄色免费网站 | 久久欧美综合 | 日韩久久久久久久久久久久 | 欧美日韩午夜 | 亚洲欧美国产精品 | 综合在线观看色 | 国产精品久久久久久久久久久杏吧 | 国产亚洲一区二区三区 | 国产精品第一页在线观看 | 日本乱视频 | 手机看片午夜 | 香蕉视频亚洲 | 国产三级国产精品国产专区50 | 在线免费观看黄色 | 在线 日韩 av | 成人毛片在线观看 | 国偷自产视频一区二区久 | 久久99精品久久久久久清纯直播 | 97视频在线观看视频免费视频 | 日韩中文在线播放 | 亚洲国产一区二区精品专区 | 色综合天天狠狠 | 久久99视频精品 | 国产91全国探花系列在线播放 | 久草视频在线看 | 日韩av中文字幕在线 | 亚洲精品动漫在线 | 美女一二三区 | 久久一区二| 毛片网站在线观看 | 日本一区二区三区视频在线播放 | 精品国产一区二区三区在线观看 | 最新中文字幕在线观看视频 | 91av国产视频 | 狠狠色丁香久久综合网 | 欧美日韩在线精品 | 国产精品手机在线 | 五月天综合网站 | 免费看色的网站 | 特级毛片爽www免费版 | 色a综合 | 亚州免费视频 | 日韩免费视频在线观看 | 免费在线观看午夜视频 | 国产 成人 久久 | 中文字幕在线播放一区二区 | 国产精品免费视频网站 | 中文字幕在线播放视频 | 99精品免费久久久久久久久 | 国产精品一区二区在线观看 | 人人爱夜夜操 | 四月婷婷在线观看 | 看片网站黄 | 国产又粗又猛又色又黄视频 | 日本乱码在线 | 天天射综合网视频 | 国产99在线| 国产精品免费看久久久8精臀av | a天堂在线看 | 国产尤物视频在线 | 在线免费高清一区二区三区 | 91精品视频在线看 | 在线成人观看 | 久久人人爽人人爽人人片 | 精品一区二区av | 国际精品久久久久 | 日本在线中文 | 久久精品成人欧美大片古装 | 一区二区精品在线观看 | 美女福利视频在线 | 久久艹影院 | 五月激情久久久 | 五月天综合网站 | 国产精品免费看久久久8精臀av | 日韩一二三区不卡 | 国产99色 | 日批视频在线 | 国产人成看黄久久久久久久久 | 国产日韩视频在线 | 97国产在线观看 | 国产亚洲精品久久久久动 | 久久久久国产精品免费网站 | 亚洲国产成人精品电影在线观看 | 视频在线一区 | 99久久久久久久久 | 超碰97网站 | 婷婷av在线| 午夜视频黄| 日韩免费在线一区 | 成人免费网站视频 | 国产精品美女久久久久aⅴ 干干夜夜 | 在线观看免费成人 | 午夜精品视频在线 | 欧美与欧洲交xxxx免费观看 | 九九热精| 国产精品福利小视频 | 91精品第一页 | 精品视频在线免费观看 | 91干干干 | 夜夜夜夜爽| 国产精品ssss在线亚洲 | 日韩成人av在线 | 亚洲美女精品 | 国产成人精品一二三区 | 国产综合91 | 天天色.com | 婷婷色综 | 亚洲国产中文在线观看 | 日韩高清免费无专码区 | 综合网伊人 | 亚洲精品乱码久久久久久高潮 | 欧美性大胆| 久久精品福利视频 | 天天草视频 | 激情网五月婷婷 | 国产午夜三级一区二区三桃花影视 | 亚洲综合激情网 | 国产欧美精品一区二区三区四区 | 久久久 精品| 激情开心色| 五月天婷亚洲天综合网鲁鲁鲁 | 在线久热 | 国产999视频在线观看 | 国产中文在线观看 | 天天综合视频在线观看 | 99国产成+人+综合+亚洲 欧美 | 91丝袜美腿 | av在线免费网站 | 少妇按摩av | 免费在线观看成人 | 久久视频这里有久久精品视频11 | 天天综合天天做 | 久久www免费视频 | 亚洲四虎影院 | 骄小bbw搡bbbb揉bbbb | 五月天久久久久久 | 亚洲国产日韩在线 | 久久国产色 | 在线观看精品 | 欧美成亚洲| 国产五十路毛片 | 色久av| 日韩素人在线观看 | 青青五月天 | 日日干精品 | 成人在线你懂得 | 亚洲天堂网视频在线观看 | 色五月色开心色婷婷色丁香 | 91久久在线观看 | 久久久久久久综合色一本 | av成人在线观看 | 特级毛片在线观看 | 免费视频久久久久久久 | 草莓视频在线观看免费观看 | 在线观看国产永久免费视频 | 9797在线看片亚洲精品 | 91一区啪爱嗯打偷拍欧美 | 极品嫩模被强到高潮呻吟91 | 久青草电影 | 伊人天天干 | 日韩av电影手机在线观看 | 黄色一区二区在线观看 | 国产精品一区二区在线 | 少妇性xxx | 成年人黄色在线观看 | 精精国产xxxx视频在线播放 | 日韩一级片大全 | 丁香5月婷婷久久 | 成人黄色电影视频 | 国产精品成人自产拍在线观看 | 五月花激情| 黄色一级大片在线免费看国产一 | 中文字幕网址 | 精品久久一二三区 | 成人资源网 | 国产成人一二三 | 激情欧美丁香 | 一区二区三区av在线 | 人人干人人添 | a v在线视频 | 免费av黄色 | 亚洲黄网站 | 国产成人精品女人久久久 | 久久国产电影院 | 少妇搡bbbb搡bbb搡aa | 黄网站污 | 成人免费视频视频在线观看 免费 | 久草在线视频首页 | 国产 字幕 制服 中文 在线 | 免费观看的黄色 | 国产精品毛片网 | 九九免费视频 | 久久久精品电影 | 久草国产在线观看 | 伊人五月| 人人添人人澡 | 深爱综合网| 久草在线高清视频 | 狠狠操狠狠干天天操 | 色婷婷在线播放 | 亚一亚二国产专区 | 久久视了 | 免费视频色| 久久免费视频6 | 天堂av官网 | 国产精品婷婷午夜在线观看 | 涩涩网站在线看 | 69久久久 | 天天艹日日干 | 成人黄色在线 | 精品久久久久久综合日本 | 日本性高潮视频 | 久草视频在线免费播放 | 国产女人40精品一区毛片视频 | 久久中文欧美 | 久久久久福利视频 | 亚洲精品中文在线资源 | 999久久久久久久久久久 | 久草在线视频网站 | 免费午夜网站 | 日韩在线视频免费播放 | 欧美极品久久 | 久久久久久国产精品美女 | 国产九九精品视频 | 麻豆播放 | 国产成人a v电影 | 超碰97人 | 偷拍精品一区二区三区 | 免费av 在线| 国产成人性色生活片 | 免费在线观看不卡av | 高清视频一区 | 91桃色在线免费观看 | 成人黄大片 | 在线播放你懂 | 射综合网 | 91自拍视频在线 | 亚洲精品一区二区三区新线路 | 久久久久久久久爱 | 色婷婷久久久综合中文字幕 | 亚洲欧洲精品一区二区精品久久久 | 六月丁香社区 | www178ccom视频在线 | 爱情影院aqdy鲁丝片二区 | 国产精品国产三级在线专区 | 国产美女永久免费 | 欧美怡红院视频 | 国产精品久久久久久吹潮天美传媒 | 激情综合色综合久久综合 | 亚洲精品视频在线观看网站 | 四虎国产精 | 在线日韩精品视频 | 国产中文字幕大全 | 午夜精品久久久久久 | 日本黄色免费在线 | a√天堂中文在线 | 特级毛片在线免费观看 | 天天激情在线 | 久久69精品久久久久久久电影好 | 人人爽影院| 人人插人人干 |