久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Golang基础(1)

發布時間:2024/1/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Golang基础(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GO語言基礎

GO語言基礎

  • <center>**GO語言基礎**
    • **前言**
    • Go語言的起源
    • **Go語言項目**
    • 第一章、入門
      • **1.1. Hello World**
      • 1.2.命令行參數
      • 1.3查找重復行
      • 1.4 GIF動畫
    • **第二章、編程語言**
      • 編程語言介紹
      • 2.1、什么是編程語言
      • 2.2、編譯型語言與解釋性語言
    • 第三章、Go安裝
      • 3.1、GO編譯器下載
      • 3.2 MAC系統
        • mac下安裝SDK
      • 3.3 WIndows系統
        • 3.3.1 Windows下安裝SDK
        • 3.3.2、Windows下配置環境
      • 3.4、IDE的安裝與使用
        • 安裝IDEA
      • 3.5、idea快捷鍵
    • 第四章、基礎語法
      • 4.1、注釋
      • 4.2 變量
        • 4.2.1、GO聲明變量
        • 4.2.2 變量賦值
        • 4.2.3 匿名變量
        • 4.2.4變量名命名的規則
      • 4.3基本數據類型
        • 4.3.1整型
        • 4.3.2浮點型
        • 4.3.3布爾類型
        • 4.3.4字符串類型
            • 4.3.4.1 字符串常用方法
        • 4.3.5轉義符
        • 4.3.6 進制轉換
        • 4.3.7 數據類型轉換
        • 4.3.8 運算符
        • 4.3.9 輸入輸出函數
            • 4.3.9.1 輸出函數
            • 4.3.9.2 輸入函數
          • 4.3.10 常量與iota
            • 4.3.10.1 iota計數器

前言

“Go是一個開源的編程語言,它很容易用于構建簡單、可靠和高效的軟件。”(摘自Go語言官
方網站:http://golang.org )

“前言、起源,均摘錄于GO語言圣經”

Go語言由來自Google公司的Robert Griesemer,Rob Pike和Ken Thompson三位大牛于2007
年9月開始設計和實現,然后于2009年的11月對外正式發布(譯注:關于Go語言的創世紀過
程請參考 http://talks.golang.org/2015/how-go-was-made.slide )。語言及其配套工具的設計
目標是具有表達力,高效的編譯和執行效率,有效地編寫高效和健壯的程序。

Go語言有著和C語言類似的語法外表,和C語言一樣是專業程序員的必備工具,可以用最小的
代價獲得最大的戰果。 但是它不僅僅是一個更新的C語言。它還從其他語言借鑒了很多好的
想法,同時避免引入過度的復雜性。 Go語言中和并發編程相關的特性是全新的也是有效的,
同時對數據抽象和面向對象編程的支持也很靈活。 Go語言同時還集成了自動垃圾收集技術用
于更好地管理內存。

Go語言尤其適合編寫網絡服務相關基礎設施,同時也適合開發一些工具軟件和系統軟件。 但
是Go語言確實是一個通用的編程語言,它也可以用在圖形圖像驅動編程、移動應用程序開發
和機器學習等諸多領域。目前Go語言已經成為受歡迎的作為無類型的腳本語言的替代者: 因
為Go編寫的程序通常比腳本語言運行的更快也更安全,而且很少會發生意外的類型錯誤。

Go語言還是一個開源的項目,可以免費獲編譯器、庫、配套工具的源代碼。 Go語言的貢獻
者來自一個活躍的全球社區。Go語言可以運行在類UNIX系統—— 比如
Linux、FreeBSD、OpenBSD、Mac OSX——和Plan9系統和Microsoft Windows操作系統之
上。 Go語言編寫的程序無需修改就可以運行在上面這些環境。


Go語言的起源

編程語言的演化跟生物物種的演化類似,一個成功的編程語言的后代一般都會繼承它們祖先
的優點;當然有時多種語言雜合也可能會產生令人驚訝的特性;還有一些激進的新特性可能
并沒有先例。通過觀察這些影響,我們可以學到為什么一門語言是這樣子的,它已經適應了
怎樣的環境。

下圖展示了有哪些早期的編程語言對Go語言的設計產生了重要影響

Go語言有時候被描述為“C類似語言”,或者是“21世紀的C語言”。Go從C語言繼承了相似的表
達式語法、控制流結構、基礎數據類型、調用參數傳值、指針等很多思想,還有C語言一直所
看中的編譯后機器碼的運行效率以及和現有操作系統的無縫適配。

但是在Go語言的家族樹中還有其它的祖先。其中一個有影響力的分支來自Niklaus Wirth所設
計的Pascal語言。然后Modula-2語言激發了包的概念。然后Oberon語言摒棄了模塊接口文件
和模塊實現文件之間的區別。第二代的Oberon-2語言直接影響了包的導入和聲明的語法,還有Oberon語言的面向對象特性所提供的方法的聲明語法等。

Go語言的另一支祖先,帶來了Go語言區別其他語言的重要特性,靈感來自于貝爾實驗室的
Tony Hoare于1978年發表的鮮為外界所知的關于并發研究的基礎文獻 順序通信進程 (
communicating sequential processes ,縮寫為CSP。在CSP中,程序是一組中間沒有共享狀
態的平行運行的處理過程,它們之間使用管道進行通信和控制同步。不過Tony Hoare的CSP
只是一個用于描述并發性基本概念的描述語言,并不是一個可以編寫可執行程序的通用編程
語言。

接下來,Rob Pike和其他人開始不斷嘗試將CSP引入實際的編程語言中。他們第一次嘗試引
入CSP特性的編程語言叫Squeak(老鼠間交流的語言),是一個提供鼠標和鍵盤事件處理的
編程語言,它的管道是靜態創建的。然后是改進版的Newsqueak語言,提供了類似C語言語
句和表達式的語法和類似Pascal語言的推導語法。Newsqueak是一個帶垃圾回收的純函數式
語言,它再次針對鍵盤、鼠標和窗口事件管理。但是在Newsqueak語言中管道是動態創建
的,屬于第一類值, 可以保存到變量中。

在Plan9操作系統中,這些優秀的想法被吸收到了一個叫Alef的編程語言中。Alef試圖將
Newsqueak語言改造為系統編程語言,但是因為缺少垃圾回收機制而導致并發編程很痛苦。
(譯注:在Aelf之后還有一個叫Limbo的編程語言,Go語言從其中借鑒了很多特性。 具體請
參考Pike的講稿:http://talks.golang.org/2012/concurrency.slide#9 )

Go語言的其他的一些特性零散地來自于其他一些編程語言;比如iota語法是從APL語言借鑒,
詞法作用域與嵌套函數來自于Scheme語言(和其他很多語言)。當然,我們也可以從Go中
發現很多創新的設計。比如Go語言的切片為動態數組提供了有效的隨機存取的性能,這可能
會讓人聯想到鏈表的底層的共享機制。還有Go語言新發明的defer語句


Go語言項目

所有的編程語言都反映了語言設計者對編程哲學的反思,通常包括之前的語言所暴露的一些
不足地方的改進。Go項目是在Google公司維護超級復雜的幾個軟件系統遇到的一些問題的反
思(但是這類問題絕不是Google公司所特有的)。

正如Rob Pike所說,“軟件的復雜性是乘法級相關的”,通過增加一個部分的復雜性來修復問題
通常將慢慢地增加其他部分的復雜性。通過增加功能、選項和配置是修復問題的最快的途
徑,但是這很容易讓人忘記簡潔的內涵,即從長遠來看,簡潔依然是好軟件的關鍵因素。

簡潔的設計需要在工作開始的時候舍棄不必要的想法,并且在軟件的生命周期內嚴格區別好
的改變和壞的改變。通過足夠的努力,一個好的改變可以在不破壞原有完整概念的前提下保
持自適應,正如Fred Brooks所說的“概念完整性”;而一個壞的改變則不能達到這個效果,它
們僅僅是通過膚淺的和簡單的妥協來破壞原有設計的一致性。只有通過簡潔的設計,才能讓
一個系統保持穩定、安全和持續的進化。

Go項目包括編程語言本身,附帶了相關的工具和標準庫,最后但并非代表不重要的是,關于
簡潔編程哲學的宣言。就事后諸葛的角度來看,Go語言的這些地方都做的還不錯:擁有自動 垃圾回收、一個包系統、函數作為一等公民、詞法作用域、系統調用接口、只讀的UTF8字符串等。

但是Go語言本身只有很少的特性,也不太可能添加太多的特性。例如,它沒有隱式的
數值轉換,沒有構造函數和析構函數,沒有運算符重載,沒有默認參數,也沒有繼承,沒有
泛型,沒有異常,沒有宏,沒有函數修飾,更沒有線程局部存儲。但是,語言本身是成熟和
穩定的,而且承諾保證向后兼容:用之前的Go語言編寫程序可以用新版本的Go語言編譯器和
標準庫直接構建而不需要修改代碼。

Go語言有足夠的類型系統以避免動態語言中那些粗心的類型錯誤,但是,Go語言的類型系統
相比傳統的強類型語言又要簡潔很多。雖然,有時候這會導致一個“無類型”的抽象類型概念,
但是Go語言程序員并不需要像C++或Haskell程序員那樣糾結于具體類型的安全屬性。在實踐
中,Go語言簡潔的類型系統給程序員帶來了更多的安全性和更好的運行時性能。

Go語言鼓勵當代計算機系統設計的原則,特別是局部的重要性。它的內置數據類型和大多數
的準庫數據結構都經過精心設計而避免顯式的初始化或隱式的構造函數,因為很少的內存分
配和內存初始化代碼被隱藏在庫代碼中了。

Go語言的聚合類型(結構體和數組)可以直接操
作它們的元素,只需要更少的存儲空間、更少的內存寫操作,而且指針操作比其他間接操作
的語言也更有效率。由于現代計算機是一個并行的機器,Go語言提供了基于CSP的并發特性
支持。Go語言的動態棧使得輕量級線程goroutine的初始棧可以很小,因此,創建一個
goroutine的代價很小,創建百萬級的goroutine完全是可行的。

Go語言的標準庫(通常被稱為語言自帶的電池),提供了清晰的構建模塊和公共接口,包含 I/O操作、文本處理、圖像、密碼學、網絡和分布式應用程序等,并支持許多標準化的文件格
式和編解碼協議。庫和工具使用了大量的約定來減少額外的配置和解釋,從而最終簡化程序的邏輯,而且,每個Go程序結構都是如此的相似,因此,Go程序也很容易學習。使用Go語
言自帶工具構建Go語言項目只需要使用文件名和標識符名稱, 一個偶爾的特殊注釋來確定所有
的庫、可執行文件、測試、基準測試、例子、以及特定于平臺的變量、項目的文檔等;Go語
言源代碼本身就包含了構建規范。


第一章、入門

本章介紹Go語言的基礎組件。本章提供了足夠的信息和示例程序,希望可以幫你盡快入門, 寫
出有用的程序。本章和之后章節的示例程序都針對你可能遇到的現實案例。先了解幾個Go程
序,涉及的主題從簡單的文件處理、圖像處理到互聯網客戶端和服務端并發。當然,第一章
不會解釋細枝末節,但用這些程序來學習一門新語言還是很有效的。

學習一門新語言時,會有一種自然的傾向, 按照自己熟悉的語言的套路寫新語言程序。學習Go
語言的過程中,請警惕這種想法,盡量別這么做。我們會演示怎么寫好Go語言程序,所以,
請使用本書的代碼作為你自己寫程序時的指南。


1.1. Hello World

我們以現已成為傳統的“hello world”案例來開始吧, 這個例子首次出現于1978年出版的C語言
圣經《The C Programming Language》

gopl.io/ch1/helloworld

package mainimport "fmt"func main() {fmt.Println("Hello, 世界") }

Go是一門編譯型語言,Go語言的工具鏈將源代碼及其依賴轉換成計算機的機器指令(譯注:
靜態編譯)。Go語言提供的工具都通過一個單獨的命令 go 調用, go 命令有一系列子命令。
最簡單的一個子命令就是run。這個命令編譯一個或多個以.go結尾的源文件,鏈接庫文件,并
運行最終生成的可執行文件。

$ go run helloworld.go

毫無意外,這個命令會輸出:

Hello, 世界

Go語言原生支持Unicode,它可以處理全世界任何語言的文本。


如果不只是一次性實驗,你肯定希望能夠編譯這個程序,保存編譯結果以備將來之用。可以
用 build子命令: $ go build helloworld.go

這個命令生成一個名為helloworld的可執行的二進制文件(譯注:Windows系統下生成的可執
行文件是helloworld.exe,增加了.exe后綴名),之后你可以隨時運行它(譯注:在Windows
系統下在命令行直接輸入helloworld.exe命令運行),不需任何處理(譯注:因為靜態編譯,
所以不用擔心在系統庫更新的時候沖突,幸福感滿滿)

$ ./helloworldHello, 世界

Go的標準庫提供了100多個包,以支持常見功能,如輸入、輸出、排序以及文本處理。比
如 fmt包,就含有格式化輸出、接收輸入的函數。 Println是其中一個基礎函數,可以打印
以空格間隔的一個或多個值,并在最后添加一個換行符,從而輸出一整行。

main 包比較特殊。它定義了一個獨立可執行的程序,而不是一個庫。在 main里的 main函
數 也很特殊,它是整個程序執行時的入口(譯注:C系語言差不多都這樣)。 main函數所做
的事情就是程序做的。當然了, main 函數一般調用其它包里的函數完成很多工作, 比如,
fmt.Println。

必須告訴編譯器源文件需要哪些包,這就是跟隨在 package 聲明后面的 import 聲明扮演的角
色。hello world例子只用到了一個包,大多數程序需要導入多個包。
必須恰當導入需要的包,缺少了必要的包或者導入了不需要的包,程序都無法編譯通過。這
項嚴格要求避免了程序開發過程中引入未使用的包(譯注:Go語言編譯過程沒有警告信息,
爭議特性之一)。

import 聲明必須跟在文件的 package聲明之后。隨后,則是組成程序的函數、變量、常量、
類型的聲明語句(分別由關鍵字 func, var, const, type定義)。這些內容的聲明順序并
不重要(譯注:最好還是定一下規范)。這個例子的程序已經盡可能短了,只聲明了一個函
數, 其中只調用了一個其他函數。為了節省篇幅,有些時候, 示例程序會省
略 package和 import聲明,但是,這些聲明在源代碼里有,并且必須得有才能編譯。
一個函數的聲明由 func 關鍵字、函數名、參數列表、返回值列表(這個例子里的 main函數
參數列表和返回值都是空的)以及包含在大括號里的函數體組成

Go語言不需要在語句或者聲明的末尾添加分號,除非一行上有多條語句。實際上,編譯器會
主動把特定符號后的換行符轉換為分號, 因此換行符添加的位置會影響Go代碼的正確解析(譯
注:比如行末是標識符、整數、浮點數、虛數、字符或字符串文字、關鍵
字 break、 continue、 fallthrough或 return中的一個、運算符和分隔符 ++、 - -、 )、 ]或 }中的一個)。舉個例子, 函數的左括號 { 必須和 func函數聲明在同一行上,
且位于末尾,不能獨占一行,而在表達式x + y中,可在 + 后換行,不能在 +前換行(譯
注:以+結尾的話不會被插入分號分隔符,但是以x結尾的話則會被分號分隔符,從而導致編
譯錯誤)。

Go語言在代碼格式上采取了很強硬的態度。 gofmt工具把代碼格式化為標準格式(譯注:這
個格式化工具沒有任何可以調整代碼格式的參數,Go語言就是這么任性),并且 go 工具中
的 fmt子命令會對指定包, 否則默認為當前目錄, 中所有.go源文件應用 gofmt命令。本博客中
所有代碼都被gofmt過。你也應該養成格式化自己的代碼的習慣。以法令方式規定標準的代碼
格式可以避免無盡的無意義的瑣碎爭執(譯注:也導致了Go語言的TIOBE排名較低,因為缺
少撕逼的話題)。更重要的是,這樣可以做多種自動源碼轉換,如果放任Go語言代碼格式,
這些轉換就不大可能了。

很多文本編輯器都可以配置為保存文件時自動執行gofmt ,這樣你的源代碼總會被恰當地格
式化。還有個相關的工具, goimports,可以根據代碼需要, 自動地添加或刪除 import聲
明。這個工具并沒有包含在標準的分發包中,可以用下面的命令安裝:

$ go get golang.org/x/tools/cmd/goimports

但是如果你用的是Goland進行編譯那就不用

1.2.命令行參數

大多數的程序都是處理輸入,產生輸出;這也正是“計算”的定義。但是, 程序如何獲取要處理
的輸入數據呢?一些程序生成自己的數據,但通常情況下,輸入來自于程序外部:文件、網
絡連接、其它程序的輸出、敲鍵盤的用戶、命令行參數或其它類似輸入源。下面幾個例子會
討論其中幾個輸入源,首先是命令行參數。

os包以跨平臺的方式,提供了一些與操作系統交互的函數和變量。程序的命令行參數可從os
包的Args變量獲取;os包外部使用os.Args訪問該變量。

os.Args變量是一個字符串(string)的切片(slice)(譯注:slice和Python語言中的切片類
似,是一個簡版的動態數組),切片是Go語言的基礎概念,稍后詳細介紹。現在先把切片s當
作數組元素序列, 序列的長度動態變化, 用 s[i]訪問單個元素,用 s[m:n]獲取子序列(譯注:
和python里的語法差不多)。序列的元素數目為len(s)。和大多數編程語言類似,區間索引時,

Go言里也采用左閉右開形式, 即,區間包括第一個索引元素,不包括最后一個, 因為這樣可以
簡化邏輯。(譯注:比如a = [1, 2, 3, 4, 5], a[0:3] = [1, 2, 3],不包含最后一個元素)。比如
s[m:n]這個切片,0 ≤ m ≤ n ≤ len(s),包含n-m個元素。

os.Args的第一個元素,os.Args[0], 是命令本身的名字;其它的元素則是程序啟動時傳給它的
參數。s[m:n]形式的切片表達式,產生從第m個元素到第n-1個元素的切片,下個例子用到的
元素包含在os.Args[1:len(os.Args)]切片中。如果省略切片表達式的m或n,會默認傳入0或
len(s),因此前面的切片可以簡寫成os.Args[1:]。

下面是Unix里echo命令的一份實現,echo把它的命令行參數打印成一行。程序導入了兩個
包,用括號把它們括起來寫成列表形式, 而沒有分開寫成獨立的 import聲明。兩種形式都合
法,列表形式習慣上用得多。包導入順序并不重要;gofmt工具格式化時按照字母順序對包名
排序。(示例有多個版本時,我們會對示例編號, 這樣可以明確當前正在討論的是哪個。)

gopl.io/ch1/echo1

package mainimport ("fmt""os" )func main() {var s, sep stringfor i := 1; i < len(os.Args); i++ {s += sep + os.Args[i]sep = " "}fmt.Println(s) }

注釋語句以 //開頭。對于程序員來說,//之后到行末之間所有的內容都是注釋,被編譯器忽
略。按照慣例,我們在每個包的包聲明前添加注釋;對于 main package,注釋包含一句或幾
句話,從整體角度對程序做個描述。

var聲明定義了兩個string類型的變量s和sep。變量會在聲明時直接初始化。如果變量沒有顯
式初始化,則被隱式地賦予其類型的零值(zero value),數值類型是0,字符串類型是空字
符串""。這個例子里,聲明把s和sep隱式地初始化成空字符串。后面再來詳細地講解變量和
聲明。

對數值類型,Go語言提供了常規的數值和邏輯運算符。而對string類型, + 運算符連接字符
串(譯注:和C++或者js是一樣的)。所以表達式:

sep + os.Args[i]

表示連接字符串sep和os.Args。程序中使用的語句:

s += sep + os.Args[i]

是一條賦值語句, 將s的舊值跟sep與os.Args[i]連接后賦值回s,等價于:

s = s + sep + os.Args[i]

運算符 +=是賦值運算符(assignment operator),每種數值運算符或邏輯運算符,
如 +或 *,都有對應的賦值運算符。

echo程序可以每循環一次輸出一個參數,這個版本卻是不斷地把新文本追加到末尾來構造字
符串。字符串s開始為空,即值為" ",每次循環會添加一些文本;第一次迭代之后,還會再插
入一個空格,因此循環結束時每個參數中間都有一個空格。這是一種二次加工(quadratic
process),當參數數量龐大時,開銷很大,但是對于echo,這種情形不大可能出現。本章會
介紹echo的若干改進版,后面會解決低效問題。

循環索引變量i在for循環的第一部分中定義。符號:= 是短變量聲明(short variable
declaration)的一部分, 這是定義一個或多個變量并根據它們的初始值為這些變量賦予適當類
型的語句。后面有這方面更多說明。

自增語句 i++給 i加1;這和 i += 1以及 i = i + 1都是等價的。對應的還有 i-- 給 i減
1。它們是語句,而不像C系的其它語言那樣是表達式。所以j = i++非法,而且++和--都只
能放在變量名后面,因此 --i 也非法。

Go語言只有for循環這一種循環語句。for循環有多種形式,其中一種如下所示:

for initialization; condition; post {// zero or more statements }

for循環三個部分不需括號包圍。大括號強制要求, 左大括號必須和post語句在同一行。
initialization語句是可選的,在循環開始前執行。initalization如果存在,必須是一條簡單語句
(simple statement),即,短變量聲明、自增語句、賦值語句或函數調用。 condition是一
個布爾表達式(boolean expression),其值在每次循環迭代開始時計算。如果為 true 則執
行循環體語句。 post 語句在循環體執行結束后執行,之后再次對condition 求
值。 condition值為 false時,循環結束。

for循環的這三個部分每個都可以省略,如果省略 initialization和 post,分號也可以省
略:

// a traditional "while" loop for condition {// ... }

如果連 condition也省略了,像下面這樣:

// a traditional infinite loop for {// ... }

這就變成一個無限循環,盡管如此,還可以用其他方式終止循環, 如一條 break或 return語
句。

for循環的另一種形式, 在某種數據類型的區間(range)上遍歷,如字符串或切
片。 echo的第二版本展示了這種形式:

gopl.io/ch1/echo2

package mainimport ("fmt""os" )func main() {s, sep := "", ""for _, arg := range os.Args[1:] {s += sep + argsep = " "}fmt.Println(s) }

每次循環迭代, range產生一對值;索引以及在該索引處的元素值。這個例子不需要索引,
但 range的語法要求, 要處理元素, 必須處理索引。一種思路是把索引賦值給一個臨時變量,
如 temp, 然后忽略它的值,但Go語言不允許使用無用的局部變量(local variables),因為這
會導致編譯錯誤。

Go語言中這種情況的解決方法是用 空標識符 (blank identifier),即 _ (也就是下劃線)。
空標識符可用于任何語法需要變量名但程序邏輯不需要的時候, 例如, 在循環里,丟棄不需要
的循環索引, 保留元素值。大多數的Go程序員都會像上面這樣使用 range和 _寫 echo程
序,因為隱式地而非顯式地索引os.Args,容易寫對。

echo的這個版本使用一條短變量聲明來聲明并初始化 s和 seps,也可以將這兩個變量分開
聲明,聲明一個變量有好幾種方式,下面這些都等價:

s := "" var s string var s = "" var s string = ""

用哪種不用哪種,為什么呢?第一種形式,是一條短變量聲明,最簡潔,但只能用在函數內
部,而不能用于包變量。第二種形式依賴于字符串的默認初始化零值機制,被初始化為""。第
三種形式用得很少,除非同時聲明多個變量。第四種形式顯式地標明變量的類型,當變量類型與初值類型相同時,類型冗余,但如果兩者類型不同,變量類型就必須了。實踐中一般使
用前兩種形式中的某個,初始值重要的話就顯式地指定變量的類型,否則使用隱式初始化。

如前文所述,每次循環迭代字符串s的內容都會更新。+= 連接原字符串、空格和下個參數,
產生新字符串, 并把它賦值給 s。 s原來的內容已經不再使用,將在適當時機對它進行垃圾
回收。

如果連接涉及的數據量很大,這種方式代價高昂。一種簡單且高效的解決方案是使
用 strings包的 Join函數:

gopl.io/ch1/echo3

package mainimport ("fmt""os""strings" )func main() {fmt.Println(strings.Join(os.Args[1:], " ")) }

最后,如果不關心輸出格式,只想看看輸出值,或許只是為了調試,可以用 Println為我們
格式化輸出。

fmt.Println(os.Args[1:])

這條語句的輸出結果跟 strings.Join得到的結果很像,只是被放到了一對方括號里。切片都
會被打印成這種格式

1.3查找重復行

對文件做拷貝、打印、搜索、排序、統計或類似事情的程序都有一個差不多的程序結構:一
個處理輸入的循環,在每個元素上執行計算處理,在處理的同時或最后產生輸出。我們會展
示一個名為 dup的程序的三個版本;靈感來自于Unix的 uniq命令,其尋找相鄰的重復行。
該程序使用的結構和包是個參考范例,可以方便地修改。

dup的第一個版本打印標準輸入中多次出現的行,以重復次數開頭。該程序將引入 if語
句, map數據類型以及 bufio包。

gopl.io/ch1/dup1

package mainimport ("bufio""fmt""os" )func main() {counts := make(map[string]int)input := bufio.NewScanner(os.Stdin)for input.Scan() {counts[input.Text()]++}for line, n := range counts {if n > 1 {fmt.Printf("%d\t%s\n", n, line)}} }

正如 for循環一樣, if語句條件兩邊也不加括號,但是主體部分需要加。 if 語句
的 else部分是可選的,在 if 的條件為 false時執行。
map存儲了鍵/值(key/value)的集合,對集合元素,提供常數時間的存、取或測試操作。鍵
可以是任意類型,只要其值能用 ==運算符比較,最常見的例子是字符串;值則可以是任意類
型。這個例子中的鍵是字符串,值是整數。內置函數 make創建空 map,此外,它還有別的
作用。4.3節討論 map。
(譯注:從功能和實現上說, Go 的 map類似于 Java 語言中的 HashMap,Python語言中
的 dict, Lua 語言中的 table,通常使用 hash實現。遺憾的是,對于該詞的翻譯并不統一,數學界術語為 映射
,而計算機界眾說紛紜莫衷一是。為了防止對讀者造成誤解,保留不
譯。)

每次 dup讀取一行輸入,該行被當做 map,其對應的值遞增。 counts[input.Text()]++語句
等價下面兩句:

line := input.Text() counts[line] = counts[line] + 1

map中不含某個鍵時不用擔心,首次讀到新行時,等號右邊的表達式 counts[line]的值將被
計算為其類型的零值,對于int即0。

為了打印結果,我們使用了基于 range的循環,并在 counts這個 map上迭代。跟之前類
似,每次迭代得到兩個結果,鍵和其在 map中對應的值。 map的迭代順序并不確定,從實踐
來看,該順序隨機,每次運行都會變化。這種設計是有意為之的,因為能防止程序依賴特定
遍歷順序,而這是無法保證的。(譯注:具體可以參見這里
http://stackoverflow.com/questions/11853396/google-go-lang-assignment-order)

繼續來看 bufio包,它使處理輸入和輸出方便又高效。 Scanner類型是該包最有用的特性之
一,它讀取輸入并將其拆成行或單詞;通常是處理行形式的輸入最簡單的方法。
程序使用短變量聲明創建 bufio.Scanner類型的變量 input。

input := bufio.NewScanner(os.Stdin)

該變量從程序的標準輸入中讀取內容。每次調用 input.Scan(),即讀入下一行,并移除行末
的換行符;讀取的內容可以調用 input.Text()得到。 Scan函數在讀到一行時返回 true,不
再有輸入時返回 false。

類似于C或其它語言里的 printf函數, fmt.Printf函數對一些表達式產生格式化輸出。該函
數的首個參數是個格式字符串,指定后續參數被如何格式化。各個參數的格式取決于“轉換字
符”(conversion character),形式為百分號后跟一個字母。舉個例子, %d表示以十進制形
式打印一個整型操作數,而 %s則表示把字符串型操作數的值展開。

Printf 有一大堆這種轉換,Go程序員稱之為動詞(verb)。下面的表格雖然遠不是完整的規
范,但展示了可用的很多特性:

符號詳細
%d十進制整數
%x, %o, %b十六進制,八進制,二進制整數。
%f, %g, %e浮點數: 3.141593 3.141592653589793 3.141593e+00
%t布爾:true或false
%c字符(rune) (Unicode碼點)
%s字符串
%q帶雙引號的字符串"abc"或帶單引號的字符’c’
%v變量的自然形式(natural format)
%T變量的類型
%%字面上的百分號標志(無操作數)

dup1的格式字符串中還含有制表符 \t和換行符 \n。字符串字面上可能含有這些代表不可
見字符的轉義字符(escap sequences)。默認情況下, Printf不會換行。按照慣例,以字
母 f 結尾的格式化函數,如 log.Printf和 fmt.Errorf,都采用 fmt.Printf 的格式化準則。
而以 ln 結尾的格式化函數,則遵循 Println的方式,以跟 %v差不多的方式格式化參數,并
在最后添加一個換行符。(譯注:后綴 f 指 fomart, ln 指 line。)

很多程序要么從標準輸入中讀取數據,如上面的例子所示,要么從一系列具名文件中讀取數
據。 dup 程序的下個版本讀取標準輸入或是使用 os.Open打開各個具名文件,并操作它們。

gopl.io/ch1/dup2

package mainimport ("bufio""fmt""os" )func main() {counts := make(map[string]int)files := os.Args[1:]if len(files) == 0 {countLines(os.Stdin, counts)} else {for _, arg := range files {f, err := os.Open(arg)if err != nil {fmt.Fprintf(os.Stderr, "dup2: %v\n", err)continue}countLines(f, counts)f.Close()}}for line, n := range counts {if n > 1 {fmt.Printf("%d\t%s\n", n, line)}} } func countLines(f *os.File, counts map[string]int) {input := bufio.NewScanner(f)for input.Scan() {counts[input.Text()]++} }

os.Open函數返回兩個值。第一個值是被打開的文件( *os.File),其后被 Scanner讀取。

os.Open 返回的第二個值是內置error類型的值。如果 err等于內置值 nil(譯注:相當于
其它語言里的NULL),那么文件被成功打開。讀取文件,直到文件結束,然后調用 Close關
閉該文件,并釋放占用的所有資源。相反的話,如果 err的值不是 nil,說明打開文件時出
錯了。這種情況下,錯誤值描述了所遇到的問題。我們的錯誤處理非常簡單,只是使
用 Fprintf與表示任意類型默認格式值的動詞 %v,向標準錯誤流打印一條信息,然
后 dup繼續處理下一個文件; continue語句直接跳到 for循環的下個迭代開始執行。

為了使示例代碼保持合理的大小,本書開始的一些示例有意簡化了錯誤處理,顯而易見的
是,應該檢查 os.Open返回的錯誤值,然而,使用 input.Scan讀取文件過程中,不大可能出
現錯誤,因此我們忽略了錯誤處理。我們會在跳過錯誤檢查的地方做說明。5.4節中深入介紹
錯誤處理。

注意 countLines函數在其聲明前被調用。函數和包級別的變量(package-level entities)可
以任意順序聲明,并不影響其被調用。(譯注:最好還是遵循一定的規范)

map是一個由 make 函數創建的數據結構的引用。 map作為為參數傳遞給某函數時,該函數
接收這個引用的一份拷貝(copy,或譯為副本),被調用函數對 map 底層數據結構的任何修
改,調用者函數都可以通過持有的 map引用看到。在我們的例子中, countLines函數
向 counts插入的值,也會被 main函數看到。(譯注:類似于C++里的引用傳遞,實際上指
針是另一個指針了,但內部存的值指向同一塊內存)

dup的前兩個版本以"流”模式讀取輸入,并根據需要拆分成多個行。理論上,這些程序可以處
理任意數量的輸入數據。還有另一個方法,就是一口氣把全部輸入數據讀到內存中,一次分
割為多行,然后處理它們。下面這個版本, dup3,就是這么操作的。這個例子引入
了 ReadFile函數(來自 io/ioutil 包),其讀取指定文件的全部內容, strings.Split 函
數把字符串分割成子串的切片。( Split 的作用與前文提到的 strings.Join 相反。)

我們略微簡化了 dup3。首先,由于 ReadFile函數需要文件名作為參數,因此只讀指定文
件,不讀標準輸入。其次,由于行計數代碼只在一處用到,故將其移回 main函數。

gopl.io/ch1/dup3

package mainimport ("fmt""io/ioutil""os""strings" )func main() {counts := make(map[string]int)for _, filename := range os.Args[1:] {data, err := ioutil.ReadFile(filename)if err != nil {fmt.Fprintf(os.Stderr, "dup3: %v\n", err)continue}for _, line := range strings.Split(string(data), "\n") {counts[line]++}}for line, n := range counts {if n > 1 {fmt.Printf("%d\t%s\n", n, line)}} }

ReadFile函數返回一個字節切片(byte``````slice),必須把它轉換為 string ,才能
用 strings.Split分割。我們會在3.5.4節詳細講解字符串和字節切片。

實現上, bufio.Scanner、 ioutil.ReadFile和 ioutil.WriteFile都使
用 *os.File的 Read和 Write方法,但是,大多數程序員很少需要直接調用那些低級
(lower-level)函數。高級(higher-level)函數,像 bufio和 io/ioutil包中所提供的那
些,用起來要容易點。

1.4 GIF動畫

下面的程序會演示Go語言標準庫里的image這個package的用法,我們會用這個包來生成一系
列的bit-mapped圖,然后將這些圖片編碼為一個GIF動畫。我們生成的圖形名字叫利薩如圖形
(Lissajous figures),這種效果是在1960年代的老電影里出現的一種視覺特效。它們是協振子
在兩個緯度上振動所產生的曲線,比如兩個sin正弦波分別在x軸和y軸輸入會產生的曲線。
1.1
是這樣的一個例子:

譯注:要看這個程序的結果,需要將標準輸出重定向到一個GIF圖像文件(使用 ./lissajous
> output.gif 命令)。下面是GIF圖像動畫效果:

這段代碼里我們用了一些新的結構,包括const聲明,struct結構體類型,復合聲明。和我們舉
的其它的例子不太一樣,這一個例子包含了浮點數運算。這些概念我們只在這里簡單地說明
一下,之后的章節會更詳細地講解。

gopl.io/ch1/lissajous

package mainimport ("image""image/color""image/gif""io""math""math/rand""os""time" )var palette = []color.Color{color.White, color.Black}const (whiteIndex = 0 // first color in paletteblackIndex = 1 // next color in palette )func main() {// The sequence of images is deterministic unless we seed// the pseudo-random number generator using the current time.// Thanks to Randall McPherson for pointing out the omission.rand.Seed(time.Now().UTC().UnixNano())lissajous(os.Stdout) } func lissajous(out io.Writer) {const (cycles = 5 // number of complete x oscillator revolutionsres = 0.001 // angular resolutionsize = 100 // image canvas covers [-size..+size]nframes = 64 // number of animation framesdelay = 8 // delay between frames in 10ms units)freq := rand.Float64() * 3.0 // relative frequency of y oscillatoranim := gif.GIF{LoopCount: nframes}phase := 0.0 // phase differencefor i := 0; i < nframes; i++ {rect := image.Rect(0, 0, 2*size+1, 2*size+1)img := image.NewPaletted(rect, palette)for t := 0.0; t < cycles*2*math.Pi; t += res {x := math.Sin(t)y := math.Sin(t*freq + phase)img.SetColorIndex(size+int(x*size+0.5), size+int(y*size+0.5),blackIndex)}phase += 0.1anim.Delay = append(anim.Delay, delay)anim.Image = append(anim.Image, img)}gif.EncodeAll(out, &anim) // NOTE: ignoring encoding errors }

當我們import了一個包路徑包含有多個單詞的package時,比如image/color(image和color兩
個單詞),通常我們只需要用最后那個單詞表示這個包就可以。所以當我們寫color.White
時,這個變量指向的是image/color包里的變量,同理gif.GIF是屬于image/gif包里的變量。

這個程序里的常量聲明給出了一系列的常量值,常量是指在程序編譯后運行時始終都不會變
化的值,比如圈數、幀數、延遲值。常量聲明和變量聲明一般都會出現在包級別,所以這些
常量在整個包中都是可以共享的,或者你也可以把常量聲明定義在函數體內部,那么這種常
量就只能在函數體內用。目前常量聲明的值必須是一個數字值、字符串或者一個固定的
boolean值。

[]color.Color{...}和gif.GIF{...}這兩個表達式就是我們說的復合聲明(后面有說明)。這
是實例化Go語言里的復合類型的一種寫法。這里的前者生成的是一個slice切片,后者生成的
是一個struct結構體。

gif.GIF是一個struct類型(參考4.4節)。struct是一組值或者叫字段的集合,不同的類型集合
在一個struct可以讓我們以一個統一的單元進行處理。anim是一個gif.GIF類型的struct變量。
這種寫法會生成一個struct變量,并且其內部變量LoopCount字段會被設置為nframes;而其
它的字段會被設置為各自類型默認的零值。struct內部的變量可以以一個點(.)來進行訪問,就
像在最后兩個賦值語句中顯式地更新了anim這個struct的Delay和Image字段。

lissajous函數內部有兩層嵌套的for循環。外層循環會循環64次,每一次都會生成一個單獨的
動畫幀。它生成了一個包含兩種顏色的201*201大小的圖片,白色和黑色。所有像素點都會被
默認設置為其零值(也就是調色板palette里的第0個值),這里我們設置的是白色。每次外層
循環都會生成一張新圖片,并將一些像素設置為黑色。其結果會append到之前結果之后。這
里我們用到了append(參考)內置函數,將結果append到anim中的幀列表末尾,并設置一
個默認的80ms的延遲值。循環結束后所有的延遲值被編碼進了GIF圖片中,并將結果寫入到
輸出流。out這個變量是io.Writer類型,這個類型支持把輸出結果寫到很多目標,很快我們就
可以看到例子。

內層循環設置兩個偏振值。x軸偏振使用sin函數。y軸偏振也是正弦波,但其相對x軸的偏振是
一個0-3的隨機值,初始偏振值是一個零值,隨著動畫的每一幀逐漸增加。循環會一直跑到x
軸完成五次完整的循環。每一步它都會調用SetColorIndex來為(x, y)點來染黑色。
main函數調用lissajous函數,用它來向標準輸出流打印信息,所以下面這個命令會像圖1.1中
產生一個GIF動畫。

$ go build gopl.io/ch1/lissajous $ ./lissajous >out.gif

第二章、編程語言

上面說了那么多,后面我們來步入正題

編程語言介紹

2.1、什么是編程語言

編程語言是用來控制計算機的一系列指令(Instruction),它有固定的格式和詞匯(不同編程語言的格式和詞匯不一樣)。就像我們中國人之間溝通需要漢語,英國人溝通需要英語一樣,人與計算機之間進行溝通需要一門語言作為介質,即編程語言。

編程語言的發展經歷了機器語言(指令系統)=>匯編語言=>高級語言(C、java、Go等)。

010010101001-》ADD

計算機在設計中規定了一組指令(二級制代碼),這組指令的集和就是所謂的機器指令系統,用機器指令形式編寫的程序稱為機器語言。

但由于機器語言的千上萬條指令難以記憶,并且維護性和移植性都很差,所以在機器語言的基礎上,人們提出了采用字符和十進制數代替二進制代碼,于是產生了將機器語言符號化的匯編語言。

雖然匯編語言相較于機器語言簡單了很多,但是匯編語言是機器指令的符號化,與機器指令存在著直接的對應關系,無論是學習還是開發,難度依然很大。所以更加接近人類語言,也更容易理解和修改的高級語言就應運而生了,高級語言的一條語法往往可以代替幾條、幾十條甚至幾百條匯編語言的指令。因此,高級語言易學易用,通用性強,應用廣泛。

2.2、編譯型語言與解釋性語言

計算機是不能理解高級語言的,更不能直接執行高級語言,它只能直接理解機器語言,所以使用任何高級語言編寫的程序若想被計算機運行,都必須將其轉換成計算機語言,也就是機器碼。而這種轉換的方式分為編譯和解釋兩種。由此高級語言也分為編譯型語言和解釋型語言。

#mermaid-svg-v0t1bDbT54Lv99za {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-v0t1bDbT54Lv99za .error-icon{fill:#552222;}#mermaid-svg-v0t1bDbT54Lv99za .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-v0t1bDbT54Lv99za .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-v0t1bDbT54Lv99za .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-v0t1bDbT54Lv99za .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-v0t1bDbT54Lv99za .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-v0t1bDbT54Lv99za .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-v0t1bDbT54Lv99za .marker{fill:#333333;stroke:#333333;}#mermaid-svg-v0t1bDbT54Lv99za .marker.cross{stroke:#333333;}#mermaid-svg-v0t1bDbT54Lv99za svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-v0t1bDbT54Lv99za .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-v0t1bDbT54Lv99za .cluster-label text{fill:#333;}#mermaid-svg-v0t1bDbT54Lv99za .cluster-label span{color:#333;}#mermaid-svg-v0t1bDbT54Lv99za .label text,#mermaid-svg-v0t1bDbT54Lv99za span{fill:#333;color:#333;}#mermaid-svg-v0t1bDbT54Lv99za .node rect,#mermaid-svg-v0t1bDbT54Lv99za .node circle,#mermaid-svg-v0t1bDbT54Lv99za .node ellipse,#mermaid-svg-v0t1bDbT54Lv99za .node polygon,#mermaid-svg-v0t1bDbT54Lv99za .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-v0t1bDbT54Lv99za .node .label{text-align:center;}#mermaid-svg-v0t1bDbT54Lv99za .node.clickable{cursor:pointer;}#mermaid-svg-v0t1bDbT54Lv99za .arrowheadPath{fill:#333333;}#mermaid-svg-v0t1bDbT54Lv99za .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-v0t1bDbT54Lv99za .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-v0t1bDbT54Lv99za .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-v0t1bDbT54Lv99za .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-v0t1bDbT54Lv99za .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-v0t1bDbT54Lv99za .cluster text{fill:#333;}#mermaid-svg-v0t1bDbT54Lv99za .cluster span{color:#333;}#mermaid-svg-v0t1bDbT54Lv99za div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-v0t1bDbT54Lv99za :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 編譯型語言代碼 編譯器 可執行文件 操作系統+CPU 解釋型語言源代碼 解釋器
  • 編譯型語言

使用專門的編譯器,針對特定的平臺,將高級語言源代碼一次性的編譯成可被該平臺硬件執行的機器碼,并包裝成該平臺所能識別的可執行性程序的格式。

編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把源代碼編譯成機器語言的文件,如exe格式的文件,以后要再運行時,直接使用編譯結果即可,如直接運行exe
文件。因為只需編譯一次,以后運行時不需要編譯,所以編譯型語言執行效率高。

1、一次性的編譯成平臺相關的機器語言文件,運行時脫離開發環境,運行效率高;

2、與特定平臺相關,一般無法移植到其他平臺;

  • 解釋型語言

使用專門的解釋器對源程序逐行解釋成特定平臺的機器碼并立即執行。是代碼在執行時才被解釋器一行行動態翻譯和執行,而不是在執行之前就完成翻譯。

1.解釋型語言每次運行都需要將源代碼解釋稱機器碼并執行,執行效率低;

2.只要平臺提供相應的解釋器,就可以運行源代碼,所以可以方便源程序移植;

第三章、Go安裝

3.1、GO編譯器下載

– 官網:https://golang.google.cn/

– go中文網:https://studygolang.com/dl

或者聯系博主

3.2 MAC系統

mac下安裝SDK

作者沒用過mac

可以參考此文檔,點擊跳轉

3.3 WIndows系統

3.3.1 Windows下安裝SDK

雙擊我們下載好的Go語言開發包即可啟動安裝程序,如下圖所示,這是Go語言的用戶許可協議,無需管它,直接勾選“I accept
…”然后點擊“Next”即可。

安裝完成后,在我們所設置的安裝目錄下將生成一些目錄和文件,如下圖所示:

在默認情況下,win系統下Go 將會被安裝在目錄 c:\go
下,但如果你在安裝過程中修改安裝目錄,則需要手動修改所有的環境變量的值。

通過go env命令可以查看環境變量的所有情況。值得一提的是,GOROOT 表示 Go 開發包的安裝目錄。

國內Go語言庫鏡像:https://github.com/goproxy/goproxy.cn 在終端輸入:go env -w GOPROXY=https://goproxy.cn,direct
對代理進行修改。

GOPROXY https://proxy.golang.org,direct

阿里云: export GOPROXY=https://mirrors.aliyun.com/goproxy/

七牛云: export GOPROXY= https://goproxy.cn

go env -w “GO111MODULE=off” // 關閉go mod

3.3.2、Windows下配置環境

GOPATH 是 Go語言中使用的一個環境變量,它使用絕對路徑提供項目的工作目錄(workspace)。

GOPATH下創建src文件夾,即存放Go項目代碼的位置

開發包安裝完成后,我們還需要配置一下GOPATH環境變量,之后才可以使用Go語言進行開發。GOPATH
是開發人員編寫Go程序的工作空間路徑,也就是存放Go代碼的地方。
在桌面或者資源管理器右鍵“此電腦”(或者“我的電腦”)→“屬性”→“高級系統設置”→“環境變量”,如下圖所示。

在彈出的菜單里找到 GOPATH對應的選項點擊編輯之后就可以修改了,沒有的話可以選擇新建,并將變量名填寫為
GOPATH,變量值設置為任意目錄均可(盡量選擇空目錄),例如 F:\GoWork。

GOPATH對應創建的文件夾中里面,手動創建如下3個目錄

src 存儲go的源代碼(需要我們自己手動創建)

pkg 存儲編譯后生成的包文件 (自動生成)

bin 存儲生成的可執行文件(自動生成)

3.4、IDE的安裝與使用

安裝IDEA

GoLand是Jetbrains公司推出專為Go開發人員構建的跨平臺IDE,可以運行在Windows,Linux,macOS系統之上,

-聯系博主拿激活碼以及軟件,也可以前往官網自行下載 官方下載

-環境配置請參考-----參考文檔

3.5、idea快捷鍵

快捷鍵作用
Ctrl + /單行注釋
Ctrl + Shift + /多行注釋
Ctrl + D復制當前光標所在行
Ctrl + X刪除當前光標所在行
Ctrl + Alt + L格式化代碼
Ctrl + Shift +方向鍵上或下 將光標所在的行進行上下移動(也可以使用 Alt+Shift+方向鍵上或下)
Ctrl + Alt + left/right返回至上次瀏覽的位置
Ctrl + R替換
Ctrl + F查找文本
Ctrl + Shift + F全局查找

第四章、基礎語法

4.1、注釋

注釋就是對代碼的解釋和說明,其目的是讓人們能夠更加輕松地了解代碼。注釋是開發人員一個非常重要的習慣,也是專業的一種表現。單行注釋是最常見的注釋形式,你可以在任何地方使用以 //
開頭的單行注釋。多行注釋也叫塊注釋,均已以 /* 開頭,并以 */ 結尾。

注釋在代碼運行時不會被運行,

注釋是寫給人看的,不是寫給機器看的

package mainimport "fmt"func main() {// 這是注釋不會被運行// fmt.Println("不會運行")fmt.Println("這是注釋外,會運行") }

4.2 變量

在計算機編程中,我們用變量來保存并管理很多數據,并用變量名來區分、識別和處理這些數據。

變量就是把數據,內存放到一個容器里面

4.2.1、GO聲明變量

和C語言一樣,Go語言也是通過var關鍵字進行聲明,不同的是變量名放在類型前,具體格式如下

var 變量名 變量類型 package mainimport "fmt"func main() {var x intvar s stringvar b boolfmt.Println(x) // 0fmt.Println(s) // ""fmt.Println(b) // false}

Go里面聲明未賦值默認是零型

int的零型是 0

string—> “”

bool—> false

如果聲明多個變量,可以進行簡寫

package mainimport "fmt"func main() {var (name stringage int)fmt.Println(name, age) }

4.2.2 變量賦值

GO中有三種賦值方式

  • 一、變量名=值
先聲明再賦值 var name int name=10直接聲明賦值 var age=10聲明賦值簡介版 z:="hello zth"
  • 二、變量名=變量名
var a = 100var b = a // 變量之間的賦值是值拷貝fmt.Println(a, b)a = 200fmt.Println(b)
  • 三、變量名=值 + 值 (變量名)
var a, b = 10, 20var c = a + bfmt.Println(c)var d = c + 100fmt.Println(d)

4.2.3 匿名變量

匿名變量即沒有命名的變量,在使用多重賦值時,如果想要忽略某個值,可以使用匿名變量(anonymous variable)。
匿名變量用一個下劃線_表示

a,b,c :=4,5,6 fmt.Println(a,b,c) // 如果只想接受第個變量,可以對前兩個變量匿名 _,_,x := 4,5,6 fmt.Println(x)

匿名變量不占用命名空間,不會分配內存

讓代碼非常清晰,基本上屏蔽掉了可能混淆代碼閱讀者視線的內容,從而大幅降低溝通的復雜度和代碼維護的難度。

4.2.4變量名命名的規則

變量命名是需要遵循一定的語法規范的,否則編譯器不會通過。

1、變量名稱必須由數字、字母、下劃線組成。

2、標識符開頭不能是數字。

3、標識符不能是保留字和關鍵字。

4、建議使用駝峰式命名,當名字有幾個單詞組成的時優先使用大小寫分隔

5、變量名盡量做到見名知意。

6、變量命名區分大小寫

go語言中有25個關鍵字,不能用于自定義變量名

關鍵字關鍵字關鍵字關鍵字關鍵字
breakdefaultfuncinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar

都會在后面一一提到

還有30多個預定義的名字,用于內建的常量、類型和函數
// 內建常量:

內建常量內建類型內建類型(2)內型
falseintfloat32make
iotaint8float64len
nilint16complex128cap
int32complex64new
int64boolappend
uintbytecopy
uint8runeclose
uint16stringdelete
uint32errorcomplex
uint64real
uintptrimag
panic
recover

4.3基本數據類型

基本數據類型包含整型和浮點型,布爾類型以及字符串,這幾種數據類型在幾乎所有編程語言中都支持。

4.3.1整型

int8 : -127~127 \\2的8次方個數
uint8 : 0~255
等等
int 在32位系統上就用的int32
int 在64位系統上就用的int64
int8: 一個字節 [-127~128]
uint8 : 從0開始[0~255]

類型范圍
int8-127到127
int16-32768到32767
int32-2147483648到2147483647
uint320到4294967295
int64-9223372036854775808到9223372036854775807
uint640到18446744073709551615
uint與平臺相關,32位操作系統上就是uint32,64位操作系統上就是uint64
int與平臺相關,32位操作系統上就是int32,64位操作系統上就是int64

4.3.2浮點型

  • float類型

float類型分為float32和float64兩種類型,這兩種浮點型數據格式遵循 IEEE 754 標準。
單精度浮點數占用4個字節(32位)存儲空間來存儲一個浮點數。而雙精度浮點數使用 8個字節(64位)存儲空間來存儲一個浮點數。

單精度浮點數最多有7位十進制有效數字,如果某個數的有效數字位數超過7位,當把它定義為單精度變量時,超出的部分會自動四舍五入。雙精度浮點數可以表示十進制的15或16位有效數字,超出的部分也會自動四舍五入。
浮點類型默認聲明為float64。

var f1 float32f1 = 3.15487464//reflect.TypeOf 打印數據類型fmt.Println(f1, reflect.TypeOf(f1))//float32: 單精度浮點型var f2 float64 // 雙精度浮點型f2 = 3.1234567890123456789fmt.Println(f2, reflect.TypeOf(f2))var f3 = 3.1234567890123456789fmt.Println(f3, reflect.TypeOf(f2)) // 默認64

4.3.3布爾類型

布爾類型是最基本數據類型之一,只有兩個值:true和false,分別代表邏輯判斷中的真和假,主要應用在條件判斷中

var b bool // 聲明b是一個布爾類型b = trueb = false // 該類型只有true和false兩個值,分別代表真假兩種狀態fmt.Println(b, reflect.TypeOf(b))fmt.Println(1 == 1) // 比較運算符的結果是一個布爾值// fmt.Println(1 == "1") // 報錯,mismatched types不能比較fmt.Println(3 > 1)var name = "yuan"var b2 = name == "rain"//false ****fmt.Println(b2)

4.3.4字符串類型

字符串是最基本也是最常用的數據類型,是通過雙引號將多個字符按串聯起來的一種數據,用于展示文本單引號只能標識字符,注意:

索引從零開始計數
go語言不支持負索引

var s = "hello zhang"fmt.Println(s)// (1)索引取值 slice[index]a := s[2]fmt.Println(string(a))// (2)切片取值slice[start:end], 取出的元素數量為:結束位置 - 開始位置;b1 := s[2:5] //fmt.Println(b1)b2 := s[0:] // 當缺省結束位置時,表示從開始位置到整個連續區域末尾;fmt.Println(b2)b3 := s[:8] // 當缺省開始位置時,表示從連續區域開頭到結束位置;fmt.Println(b3)// (3)字符串拼接var s1 = "hello"var s2 = "zhang"var s3 = s1 + s2 // 生成一個新的字符串fmt.Println(s3)
4.3.4.1 字符串常用方法
方法介紹
len(str)求長度
strings.ToUpper,strings.ToLower生成一個新的全部大寫的字符串,生成一個新的全部小寫的字符串
strings.ReplaceAll生成一個新的原字符串被指定替換后的字符串
strings.Contains判斷是否包含
strings.HasPrefix,strings.HasSuffix前綴/后綴判斷
strings.Trim、去除字符串兩端匹配的內容
strings.Index(),strings.LastIndex()子串出現的位置
strings.Split分割,將字符串按指定的內容分割成數組
strings.Join(a[]string, sep string)join操作,將數組按指定的內容拼接成字符串

4.3.5轉義符

轉義符含義
\r回車符(返回行首)
\n換行符(直接跳到下一行的同列位置)
\t制表符
\’單引號
\"雙引號
\\反斜杠

4.3.6 進制轉換

// 十進制轉化var n int = 10//printf 傳輸數據進去fmt.Printf("%d \n", n) //%d 表示十進制fmt.Printf("%o \n", n) // 占位符%o表示八進制fmt.Printf("%b \n", n) //占位符%b表示二進制fmt.Printf("%x \n", n) //占位符%x表示十六進制// 八進制轉化var b int = 020fmt.Printf("%o \n", b) // 20fmt.Printf("%d \n", b) // 16fmt.Printf("%x \n", b) // 10fmt.Printf("%b \n", b) // 10000// 十六進制轉化var c = 0x12fmt.Printf("%d \n", c) // 18fmt.Printf("%o \n", c) // 22fmt.Printf("%x \n", c) // 12fmt.Printf("%b \n", c) // 10010

4.3.7 數據類型轉換

//(1)整型之間的轉換 int8 int16var x int8 = 10var y int16 = 20fmt.Println(x + int8(y))// (2)字符串與整型之間的轉換 strconv庫var agestr = "32"//var name = 12//字符串轉整型var age, _ = strconv.Atoi(agestr)fmt.Println(age)//fmt.Println("err: ", err) // <nil>空對象price := 100//整形轉字符price_str := strconv.Itoa(price)fmt.Println(price_str, reflect.TypeOf(price_str))//strconv parse系列函數//字符串轉整型 base進制 bitSize是比特位 8---int8ret, _ := strconv.ParseInt("28", 10, 8)fmt.Println(ret, reflect.TypeOf(ret))//字符串轉換為浮點型floats, _ := strconv.ParseFloat("3.1415926", 64)fmt.Println(floats, reflect.TypeOf(floats))//字符串轉換為布爾值b, _ := strconv.ParseBool("0")b1, _ := strconv.ParseBool("-1")b2, _ := strconv.ParseBool("true")b3, _ := strconv.ParseBool("T")fmt.Println(b, b1, b2, b3)

4.3.8 運算符

和python運算符一樣

//計算一個數是為奇數還是偶數x, y := 10, 20fmt.Println(x%2 == 0, y)//關系運算符 與python相同 == != >= <= 返回布爾值fmt.Println(x >= y)//邏輯運算符//與或非運算/*與&&: 真真-真,真假-假,假假-假 ,或||: 真或真-真,真或假為真,假或假為假非運算 !:非真為假,非假為真 取反*/fmt.Println(true && false)fmt.Println(true || false)fmt.Println(!true || false)//database:root 123username := "zhang"password := 123fmt.Println(username == "root" && password == 123)/*賦值運算和python一樣*/var a = 12a += 1fmt.Println(a)var b = 10//自加一b++fmt.Println(b)//優先級var q, w, z = 1, 2, 3fmt.Println(q, w, z)var t = q + wfmt.Println(t)

4.3.9 輸入輸出函數

4.3.9.1 輸出函數

fmt.Print有幾個變種:

Print: 輸出到控制臺,不接受任何格式化操作Println: 輸出到控制臺并換行Printf : 只可以打印出格式化的字符串,只可以直接輸出字符串類型的變量(不可以輸出別的類型) Sprintf:格式化并返回一個字符串而不帶任何輸出

//輸出函數//print printlnvar name, age = "yuan", 32fmt.Println("hello world")fmt.Println(name)fmt.Println(age)fmt.Println("姓名:", name, "年齡", age)//fmt.Print(name)//fmt.Print(age)var isMarried = falsefmt.Printf("姓名:%s,年齡:%d,婚否:%t\n", name, age, isMarried)//sprintf:s := fmt.Sprintf("姓名:%s,年齡:%d,婚否:%t", name, age, isMarried)fmt.Println(s)
4.3.9.2 輸入函數

go語言fmt包下有三個函數,可以在程序運行過程中從標準輸入獲取用戶的輸入:

1、fmt.Scan
2、fmt.Scanf
3、fmt.Scanln

1、語法:

func Scan(a ...interface{}) (n int, err error) var (birth string)fmt.Println("輸入生日格式如:1988-3-16")fmt.Scan(&birth)birthslice := strings.Split(birth, "-")fmt.Printf("您的生日是%s年-%s月-%s日", birthslice[0], birthslice[1], birthslice[2])

2、語法:

func Scanf(format string, a ...interface{}(n int, err error) //(2)fmt.scanf 按照指定的格式輸入var a, b intfmt.Scanf("%d+%d", &a, &b)fmt.Println(a + b)

3、語法、

func Scanln(a ...interface{}) (n int, err error)

Scanln類似于Scan,它遇到換行立即停止掃描。
本函數返回成功掃描的數據個數和遇到的任何錯誤。
Scanln和Scan的區別就是Scanln遇到換行立即結束輸入,而Scan則會將換行符作為一個空白符繼續下一個輸入

4.3.10 常量與iota

常量是?個簡單值的標識符,在程序運?時,不會被修改的量。 在Python、Java編程規范中,常量?般都是全?寫字母,但是在Golang中,??寫是具有?定特殊含義的,所以不?定所有常量都得全?寫。

聲明賦值方式與變量接近,通過const實現

const 常量名[數據類型] = value

數據類型可以忽略不寫,Golang編譯器會?動推斷出數據類型。 在使?時,要注意以下?點:
數據類型只可以是布爾型、數字型(整數型、浮點型和復數)和字符串型
滿?多重賦值
常量只定義不使?,編譯不會報錯
常量可以作為枚舉,常量組
常量組中如不指定類型和初始化值,則與上???空常量右值相同
顯?指定類型的時候,必須確保常量左右值類型?致,需要時可做顯?類型轉換。

// (1)聲明常量const pai = 3.1415926const e float64 = 2.7182818fmt.Println(pai * pai)// (2)常量也可以和變量一樣一組一起聲明// const monday, tuesday, wednesday = 1, 2, 3// 更推薦下面這種方式const (monday = 1tuesday = 2wednesday = 3thursday = 4friday = 5saturday = 6sunday = 7)const (female = 0male = 1)// ?組常量中,如果某個常量沒有初始值,默認和上???致const (a int = 1bc = 2d)fmt.Println(a, b, c, d)
4.3.10.1 iota計數器

iota是go語言的常量計數器,只能在常量的表達式中使用。 使用iota時只需要記住以下兩點
1.iota在const關鍵字出現時將被重置為0。
2.const中每新增一行常量聲明將使iota計數一次(iota可理解為const語句塊中的行索引)。

package mainimport "fmt"type Weekday int type Flags uint//常量生成器iotaconst (Sunday Weekday = iotaMondayTuesdayWednesdayThursdayFridaySaturday )const (FlagUp Flags = 1 << iotaFlagBroadcast )// 無類型常量 const (deadful = 0xdeadbeef //無類型整數)func main() {fmt.Println() }

部分內容出自于《GO語言圣經》

總結

以上是生活随笔為你收集整理的Golang基础(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

亚洲s码欧洲m码国产av | 久久久久99精品国产片 | 中文无码精品a∨在线观看不卡 | 色情久久久av熟女人妻网站 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | av在线亚洲欧洲日产一区二区 | 性生交大片免费看女人按摩摩 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲人成无码网www | 欧美一区二区三区视频在线观看 | 亚洲小说春色综合另类 | www国产亚洲精品久久久日本 | 国产精品a成v人在线播放 | 久久精品国产99久久6动漫 | 日韩欧美中文字幕公布 | 又粗又大又硬又长又爽 | 伊人久久婷婷五月综合97色 | 亚洲自偷自偷在线制服 | 久久亚洲中文字幕无码 | 久久婷婷五月综合色国产香蕉 | 乱人伦人妻中文字幕无码 | 狠狠色噜噜狠狠狠7777奇米 | 奇米影视7777久久精品 | 亚洲国产av美女网站 | 亚洲爆乳精品无码一区二区三区 | a在线亚洲男人的天堂 | 国产香蕉尹人视频在线 | 色五月五月丁香亚洲综合网 | 国产无遮挡又黄又爽又色 | 无码国产激情在线观看 | 性生交大片免费看女人按摩摩 | 亚洲成在人网站无码天堂 | 十八禁真人啪啪免费网站 | 久久久中文字幕日本无吗 | 精品无码一区二区三区的天堂 | 亚洲一区二区三区 | 久久天天躁狠狠躁夜夜免费观看 | 国产精品久久精品三级 | 国产av剧情md精品麻豆 | 夜夜躁日日躁狠狠久久av | 骚片av蜜桃精品一区 | 成 人 免费观看网站 | 亚洲色www成人永久网址 | 精品国产一区av天美传媒 | 亚洲国精产品一二二线 | 一本色道婷婷久久欧美 | 少妇无码一区二区二三区 | 久久综合香蕉国产蜜臀av | 久久熟妇人妻午夜寂寞影院 | 亚洲自偷自偷在线制服 | 曰韩少妇内射免费播放 | 日韩精品无码一区二区中文字幕 | 1000部啪啪未满十八勿入下载 | 强开小婷嫩苞又嫩又紧视频 | 久久久中文字幕日本无吗 | 国产精品爱久久久久久久 | 最新国产乱人伦偷精品免费网站 | 秋霞成人午夜鲁丝一区二区三区 | 久久国产36精品色熟妇 | 久久97精品久久久久久久不卡 | 少女韩国电视剧在线观看完整 | 中文字幕乱码亚洲无线三区 | 国产电影无码午夜在线播放 | 无码播放一区二区三区 | 亚洲熟女一区二区三区 | 亚洲自偷精品视频自拍 | 伊人久久大香线蕉亚洲 | 国产精品理论片在线观看 | 狠狠色噜噜狠狠狠狠7777米奇 | 一本大道久久东京热无码av | 内射巨臀欧美在线视频 | 大地资源中文第3页 | 亚洲一区二区三区无码久久 | 亚洲精品一区二区三区四区五区 | 亚洲精品成人福利网站 | 人妻人人添人妻人人爱 | 亚洲色在线无码国产精品不卡 | 特级做a爰片毛片免费69 | 中文字幕乱码中文乱码51精品 | 人人妻人人澡人人爽欧美一区 | 久久伊人色av天堂九九小黄鸭 | 国产精品美女久久久久av爽李琼 | 日韩精品成人一区二区三区 | 国产精品无码一区二区三区不卡 | 极品嫩模高潮叫床 | 国产av久久久久精东av | 麻豆md0077饥渴少妇 | 久久精品国产99精品亚洲 | 亚洲国产精华液网站w | 蜜桃视频韩日免费播放 | 国产熟妇高潮叫床视频播放 | 久久精品国产一区二区三区肥胖 | 正在播放东北夫妻内射 | 搡女人真爽免费视频大全 | yw尤物av无码国产在线观看 | 国内老熟妇对白xxxxhd | 成年美女黄网站色大免费全看 | 午夜时刻免费入口 | 久久国产精品_国产精品 | 在线成人www免费观看视频 | 国产成人亚洲综合无码 | 在线播放免费人成毛片乱码 | 99久久无码一区人妻 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久99精品久久久久久动态图 | 欧美人与善在线com | 国产成人一区二区三区在线观看 | 无码福利日韩神码福利片 | 麻豆国产人妻欲求不满谁演的 | 一本久久伊人热热精品中文字幕 | 国产福利视频一区二区 | 亚洲性无码av中文字幕 | 荫蒂被男人添的好舒服爽免费视频 | 俺去俺来也在线www色官网 | 中文字幕av伊人av无码av | 伦伦影院午夜理论片 | 人妻少妇精品久久 | 精品无码国产自产拍在线观看蜜 | 99精品国产综合久久久久五月天 | 狠狠综合久久久久综合网 | 人人爽人人爽人人片av亚洲 | 乱人伦人妻中文字幕无码久久网 | 亚洲天堂2017无码 | 麻豆蜜桃av蜜臀av色欲av | 国产偷自视频区视频 | 国产精品沙发午睡系列 | 中文字幕乱码人妻无码久久 | 免费观看又污又黄的网站 | 日韩av无码一区二区三区不卡 | 亚洲国产高清在线观看视频 | 国产麻豆精品一区二区三区v视界 | 天堂亚洲2017在线观看 | 国产亚洲人成在线播放 | 国产麻豆精品精东影业av网站 | 蜜桃视频插满18在线观看 | 国产免费久久久久久无码 | 久久亚洲中文字幕精品一区 | 国产精品久久久久无码av色戒 | 1000部啪啪未满十八勿入下载 | 欧美人与动性行为视频 | 久久97精品久久久久久久不卡 | 国产麻豆精品精东影业av网站 | 亚洲乱亚洲乱妇50p | 免费无码的av片在线观看 | 日产国产精品亚洲系列 | 精品无人区无码乱码毛片国产 | 美女极度色诱视频国产 | 女人色极品影院 | 成人亚洲精品久久久久 | 成人aaa片一区国产精品 | 超碰97人人射妻 | 水蜜桃色314在线观看 | 奇米影视888欧美在线观看 | 色综合久久久无码中文字幕 | 亚洲精品美女久久久久久久 | 亚洲 欧美 激情 小说 另类 | 波多野结衣高清一区二区三区 | 亚洲无人区午夜福利码高清完整版 | 97精品人妻一区二区三区香蕉 | 日日摸天天摸爽爽狠狠97 | 国产精品高潮呻吟av久久4虎 | 精品少妇爆乳无码av无码专区 | 国产深夜福利视频在线 | 日本www一道久久久免费榴莲 | 精品国产精品久久一区免费式 | 欧美人妻一区二区三区 | 欧美老熟妇乱xxxxx | 成人片黄网站色大片免费观看 | 性欧美大战久久久久久久 | 欧美自拍另类欧美综合图片区 | 中文字幕av无码一区二区三区电影 | 精品少妇爆乳无码av无码专区 | yw尤物av无码国产在线观看 | 久久97精品久久久久久久不卡 | 国产精品无码一区二区三区不卡 | 人妻少妇被猛烈进入中文字幕 | 成 人影片 免费观看 | av香港经典三级级 在线 | 老司机亚洲精品影院 | 伊在人天堂亚洲香蕉精品区 | 好爽又高潮了毛片免费下载 | 精品无码国产自产拍在线观看蜜 | 任你躁国产自任一区二区三区 | 鲁鲁鲁爽爽爽在线视频观看 | 国产乱人伦av在线无码 | 欧美国产亚洲日韩在线二区 | 国产特级毛片aaaaaa高潮流水 | 少妇性俱乐部纵欲狂欢电影 | 性欧美牲交在线视频 | 久久人人97超碰a片精品 | 亚洲毛片av日韩av无码 | 丰满少妇熟乱xxxxx视频 | 无码国模国产在线观看 | 久久国产精品二国产精品 | 青青青手机频在线观看 | 3d动漫精品啪啪一区二区中 | 日韩无套无码精品 | 国内精品久久久久久中文字幕 | 国产精品第一区揄拍无码 | 久久人人爽人人人人片 | 无码午夜成人1000部免费视频 | 在线精品国产一区二区三区 | 波多野42部无码喷潮在线 | 四虎国产精品一区二区 | аⅴ资源天堂资源库在线 | 又色又爽又黄的美女裸体网站 | 天堂久久天堂av色综合 | 永久免费观看美女裸体的网站 | 天天爽夜夜爽夜夜爽 | 亚洲爆乳精品无码一区二区三区 | 日韩精品a片一区二区三区妖精 | 成人无码影片精品久久久 | 国产亚洲精品久久久久久 | 捆绑白丝粉色jk震动捧喷白浆 | 午夜时刻免费入口 | 久久精品中文字幕一区 | 高清国产亚洲精品自在久久 | 蜜桃av抽搐高潮一区二区 | 奇米影视7777久久精品人人爽 | 人人澡人摸人人添 | 国产成人综合在线女婷五月99播放 | 久久zyz资源站无码中文动漫 | 日韩欧美中文字幕公布 | 亚洲精品国产精品乱码视色 | 国产av剧情md精品麻豆 | 色噜噜亚洲男人的天堂 | 亚洲中文字幕av在天堂 | 中文字幕人成乱码熟女app | 男女猛烈xx00免费视频试看 | 亚洲国产精品无码一区二区三区 | 扒开双腿吃奶呻吟做受视频 | 免费国产成人高清在线观看网站 | 国产卡一卡二卡三 | 国产人妻精品午夜福利免费 | 久久国产精品精品国产色婷婷 | 西西人体www44rt大胆高清 | 精品乱码久久久久久久 | 亚洲欧美中文字幕5发布 | 精品厕所偷拍各类美女tp嘘嘘 | 欧美熟妇另类久久久久久不卡 | 妺妺窝人体色www婷婷 | 台湾无码一区二区 | 日本一区二区更新不卡 | 亚洲精品国产精品乱码视色 | 精品久久久中文字幕人妻 | 丰满人妻精品国产99aⅴ | 东京热一精品无码av | 性色av无码免费一区二区三区 | 免费播放一区二区三区 | 波多野结衣av一区二区全免费观看 | 日韩精品无码免费一区二区三区 | 精品欧洲av无码一区二区三区 | 欧美丰满熟妇xxxx性ppx人交 | 国产亚洲欧美在线专区 | 夜先锋av资源网站 | 在线看片无码永久免费视频 | 女人被男人爽到呻吟的视频 | 国产亚洲欧美日韩亚洲中文色 | 国产在热线精品视频 | 亚洲国产精品无码久久久久高潮 | 国内揄拍国内精品人妻 | 无码福利日韩神码福利片 | 久久久久久国产精品无码下载 | 中文字幕人妻无码一区二区三区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 理论片87福利理论电影 | 99久久精品午夜一区二区 | 人妻互换免费中文字幕 | 亚洲 日韩 欧美 成人 在线观看 | 久久久久成人片免费观看蜜芽 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲日本一区二区三区在线 | 18禁止看的免费污网站 | 两性色午夜视频免费播放 | 天下第一社区视频www日本 | 久久精品国产亚洲精品 | 成人免费视频视频在线观看 免费 | 中文字幕无码av波多野吉衣 | 九九在线中文字幕无码 | 少妇无码av无码专区在线观看 | 亚洲人成网站在线播放942 | 中文字幕精品av一区二区五区 | 日韩精品成人一区二区三区 | 精品成在人线av无码免费看 | 欧美性生交活xxxxxdddd | 国产精品第一国产精品 | 亚洲中文字幕无码中文字在线 | 亚洲天堂2017无码 | 免费男性肉肉影院 | 99精品国产综合久久久久五月天 | 日本爽爽爽爽爽爽在线观看免 | 久久国内精品自在自线 | 少妇性俱乐部纵欲狂欢电影 | 精品日本一区二区三区在线观看 | 国产av无码专区亚洲a∨毛片 | 无套内谢的新婚少妇国语播放 | 中文字幕无码乱人伦 | 亚洲娇小与黑人巨大交 | 成人动漫在线观看 | 国产肉丝袜在线观看 | 中文字幕日韩精品一区二区三区 | 国产美女精品一区二区三区 | 久久久久久久女国产乱让韩 | 白嫩日本少妇做爰 | a在线亚洲男人的天堂 | 波多野结衣aⅴ在线 | 噜噜噜亚洲色成人网站 | 亚洲成熟女人毛毛耸耸多 | 久久国内精品自在自线 | 香蕉久久久久久av成人 | 在线观看欧美一区二区三区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 丰满少妇女裸体bbw | 国产精品久久久久久久9999 | 亚洲精品一区二区三区在线 | 一本久久a久久精品亚洲 | 中文无码精品a∨在线观看不卡 | 久久亚洲日韩精品一区二区三区 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久久久人妻一区精品色欧美 | 久久精品国产亚洲精品 | 亚洲精品一区二区三区婷婷月 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久久久久国产精品无码下载 | 午夜福利一区二区三区在线观看 | 蜜臀av无码人妻精品 | 亚洲娇小与黑人巨大交 | 午夜不卡av免费 一本久久a久久精品vr综合 | 学生妹亚洲一区二区 | 亚洲精品国产精品乱码不卡 | 国产精品永久免费视频 | 一本久道高清无码视频 | 国产亚洲精品久久久久久大师 | 国产精品久久久午夜夜伦鲁鲁 | 乱人伦人妻中文字幕无码久久网 | 国产av人人夜夜澡人人爽麻豆 | 日日橹狠狠爱欧美视频 | 国产偷抇久久精品a片69 | 噜噜噜亚洲色成人网站 | 亚洲国产精品无码久久久久高潮 | 国产乡下妇女做爰 | 国产精品理论片在线观看 | 国产真人无遮挡作爱免费视频 | 日本一区二区三区免费播放 | 麻豆国产丝袜白领秘书在线观看 | aa片在线观看视频在线播放 | 成人无码精品1区2区3区免费看 | 暴力强奷在线播放无码 | 丰满少妇弄高潮了www | 欧美丰满少妇xxxx性 | 狠狠色噜噜狠狠狠狠7777米奇 | 久久精品丝袜高跟鞋 | 日本熟妇乱子伦xxxx | 欧美亚洲日韩国产人成在线播放 | 免费看男女做好爽好硬视频 | 色综合久久网 | 久久人妻内射无码一区三区 | 精品乱子伦一区二区三区 | 国色天香社区在线视频 | 国产亚洲tv在线观看 | 国产成人精品一区二区在线小狼 | 国语自产偷拍精品视频偷 | 丰满少妇高潮惨叫视频 | 国产黑色丝袜在线播放 | 性色欲网站人妻丰满中文久久不卡 | 日产精品高潮呻吟av久久 | 性生交片免费无码看人 | aⅴ亚洲 日韩 色 图网站 播放 | 日日碰狠狠躁久久躁蜜桃 | 午夜无码人妻av大片色欲 | 亚洲精品国产精品乱码视色 | 荫蒂被男人添的好舒服爽免费视频 | av无码久久久久不卡免费网站 | 伊人色综合久久天天小片 | 熟女体下毛毛黑森林 | 丰满少妇熟乱xxxxx视频 | 强辱丰满人妻hd中文字幕 | 国产精品沙发午睡系列 | 男女超爽视频免费播放 | 亚洲精品一区二区三区婷婷月 | 中文字幕人成乱码熟女app | 无码福利日韩神码福利片 | 亚洲无人区一区二区三区 | 久9re热视频这里只有精品 | 人人妻在人人 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | аⅴ资源天堂资源库在线 | 又大又硬又黄的免费视频 | 无码人妻久久一区二区三区不卡 | 国产精品爱久久久久久久 | 国产精品久久久久影院嫩草 | 国产精品无码永久免费888 | 久久久久久久久蜜桃 | 麻豆精品国产精华精华液好用吗 | 日韩人妻无码中文字幕视频 | 久久亚洲中文字幕无码 | 国产精品办公室沙发 | 亚洲色大成网站www国产 | 久久综合给合久久狠狠狠97色 | 亚洲日本在线电影 | 窝窝午夜理论片影院 | 国产精品成人av在线观看 | 无码午夜成人1000部免费视频 | 国产偷抇久久精品a片69 | 亚洲欧洲中文日韩av乱码 | 天堂无码人妻精品一区二区三区 | 国产成人精品必看 | 久久国产精品二国产精品 | 性色欲情网站iwww九文堂 | 思思久久99热只有频精品66 | 精品国产乱码久久久久乱码 | 久久天天躁夜夜躁狠狠 | 男人的天堂2018无码 | 中文字幕人妻无码一区二区三区 | 久久久中文字幕日本无吗 | 亚洲熟女一区二区三区 | 欧美老人巨大xxxx做受 | 国产成人无码av片在线观看不卡 | 亚洲乱码日产精品bd | 丰满少妇人妻久久久久久 | 国产无遮挡吃胸膜奶免费看 | 精品亚洲成av人在线观看 | 日本一区二区三区免费播放 | 国产又粗又硬又大爽黄老大爷视 | 国产麻豆精品一区二区三区v视界 | 亚洲小说图区综合在线 | 久久久久国色av免费观看性色 | 丁香花在线影院观看在线播放 | 丁香啪啪综合成人亚洲 | 精品人人妻人人澡人人爽人人 | 亚洲无人区午夜福利码高清完整版 | 国产亚洲欧美日韩亚洲中文色 | 国产suv精品一区二区五 | 美女极度色诱视频国产 | 东京无码熟妇人妻av在线网址 | 无码人妻精品一区二区三区下载 | 婷婷丁香六月激情综合啪 | 帮老师解开蕾丝奶罩吸乳网站 | 久在线观看福利视频 | 国产av一区二区精品久久凹凸 | 黑人巨大精品欧美黑寡妇 | 国精产品一区二区三区 | 粉嫩少妇内射浓精videos | 国产亚洲精品精品国产亚洲综合 | 国产性生大片免费观看性 | 亚洲欧美日韩国产精品一区二区 | 日本大乳高潮视频在线观看 | 丰满少妇弄高潮了www | 西西人体www44rt大胆高清 | 日本精品高清一区二区 | 国产成人精品久久亚洲高清不卡 | 欧洲极品少妇 | 一本久道久久综合婷婷五月 | 亚洲国产精品久久人人爱 | 亚洲国产日韩a在线播放 | 亚洲日韩av一区二区三区四区 | 久久国产36精品色熟妇 | 熟妇激情内射com | 久久精品人妻少妇一区二区三区 | 丝袜足控一区二区三区 | 麻豆md0077饥渴少妇 | 伊在人天堂亚洲香蕉精品区 | 欧美激情内射喷水高潮 | 97无码免费人妻超级碰碰夜夜 | 久久久久免费看成人影片 | 国产精品18久久久久久麻辣 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产无遮挡又黄又爽免费视频 | 欧美大屁股xxxxhd黑色 | 中文字幕乱码亚洲无线三区 | 国内精品久久毛片一区二区 | 狠狠cao日日穞夜夜穞av | 久久久中文字幕日本无吗 | 国产农村乱对白刺激视频 | 99视频精品全部免费免费观看 | 荫蒂添的好舒服视频囗交 | 在线播放无码字幕亚洲 | 98国产精品综合一区二区三区 | 丰满少妇女裸体bbw | 国产免费久久久久久无码 | 中文字幕无码热在线视频 | 天天拍夜夜添久久精品 | 狂野欧美性猛交免费视频 | 国产精华av午夜在线观看 | 中文字幕乱码中文乱码51精品 | 亚洲欧美精品aaaaaa片 | 国产av剧情md精品麻豆 | 又大又紧又粉嫩18p少妇 | 四虎国产精品一区二区 | 精品国偷自产在线视频 | 在线播放无码字幕亚洲 | 亚洲日本va午夜在线电影 | 人妻人人添人妻人人爱 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产香蕉97碰碰久久人人 | 在线播放免费人成毛片乱码 | 国产两女互慰高潮视频在线观看 | 亚洲中文字幕无码中字 | 中文字幕无码人妻少妇免费 | 久久99精品久久久久久动态图 | 国产精品va在线播放 | 蜜臀aⅴ国产精品久久久国产老师 | 日本爽爽爽爽爽爽在线观看免 | 丰满少妇弄高潮了www | 国产人妻精品一区二区三区不卡 | 伊人久久大香线蕉午夜 | 老头边吃奶边弄进去呻吟 | 精品国产国产综合精品 | 真人与拘做受免费视频一 | 蜜桃视频韩日免费播放 | 日韩精品无码一本二本三本色 | 亚洲综合无码久久精品综合 | 日日摸天天摸爽爽狠狠97 | 丰满人妻一区二区三区免费视频 | 日韩精品久久久肉伦网站 | 东京一本一道一二三区 | 欧美亚洲国产一区二区三区 | 在线欧美精品一区二区三区 | 国产精品第一区揄拍无码 | 狠狠躁日日躁夜夜躁2020 | 中文字幕无码乱人伦 | 天堂无码人妻精品一区二区三区 | 粉嫩少妇内射浓精videos | 任你躁在线精品免费 | 无码任你躁久久久久久久 | 亚洲va中文字幕无码久久不卡 | 亚洲va中文字幕无码久久不卡 | 国产suv精品一区二区五 | 少妇人妻偷人精品无码视频 | 51国偷自产一区二区三区 | 99riav国产精品视频 | 人妻无码久久精品人妻 | 国产亚洲精品久久久久久大师 | 国产另类ts人妖一区二区 | 天堂а√在线中文在线 | 成 人 免费观看网站 | 欧美高清在线精品一区 | 鲁大师影院在线观看 | 99久久无码一区人妻 | 四虎国产精品一区二区 | 狠狠色欧美亚洲狠狠色www | 国产国语老龄妇女a片 | 天下第一社区视频www日本 | 无码人妻少妇伦在线电影 | 无套内谢的新婚少妇国语播放 | 精品国产乱码久久久久乱码 | 午夜精品久久久久久久 | 国产精品自产拍在线观看 | 精品偷拍一区二区三区在线看 | 国产精品久久久午夜夜伦鲁鲁 | 国内老熟妇对白xxxxhd | 狠狠综合久久久久综合网 | 成人影院yy111111在线观看 | 精品人妻中文字幕有码在线 | 好屌草这里只有精品 | 少女韩国电视剧在线观看完整 | 久久久亚洲欧洲日产国码αv | 免费人成网站视频在线观看 | 国产麻豆精品精东影业av网站 | 国产精品福利视频导航 | 亚洲gv猛男gv无码男同 | 永久黄网站色视频免费直播 | 无码毛片视频一区二区本码 | 欧美第一黄网免费网站 | 亚洲日本va中文字幕 | 国产精品无码永久免费888 | 国产香蕉尹人综合在线观看 | 中文字幕无线码 | 久久久成人毛片无码 | 国产精品无码成人午夜电影 | 欧美自拍另类欧美综合图片区 | 国产情侣作爱视频免费观看 | 无码人妻黑人中文字幕 | 亚洲成熟女人毛毛耸耸多 | 欧美性生交xxxxx久久久 | 无码午夜成人1000部免费视频 | 免费无码一区二区三区蜜桃大 | 国产9 9在线 | 中文 | 中文字幕中文有码在线 | 亚洲一区二区三区偷拍女厕 | 精品国产乱码久久久久乱码 | 激情人妻另类人妻伦 | 日韩在线不卡免费视频一区 | 精品人妻人人做人人爽夜夜爽 | 又色又爽又黄的美女裸体网站 | 亚洲熟妇色xxxxx欧美老妇y | 人人妻人人藻人人爽欧美一区 | 亚洲另类伦春色综合小说 | 亚洲精品美女久久久久久久 | 亚洲va中文字幕无码久久不卡 | 成人aaa片一区国产精品 | 亚洲国产欧美在线成人 | 无码人妻少妇伦在线电影 | 国产精华av午夜在线观看 | 亚洲一区二区三区在线观看网站 | 激情五月综合色婷婷一区二区 | 中文毛片无遮挡高清免费 | 98国产精品综合一区二区三区 | 国产成人无码a区在线观看视频app | 国产成人午夜福利在线播放 | 超碰97人人射妻 | 99久久久国产精品无码免费 | 中文字幕亚洲情99在线 | 国产无遮挡又黄又爽免费视频 | 久久精品中文字幕一区 | 国产性生大片免费观看性 | 亚洲精品综合五月久久小说 | 又黄又爽又色的视频 | 日日鲁鲁鲁夜夜爽爽狠狠 | 99久久精品国产一区二区蜜芽 | 亚洲精品国产精品乱码不卡 | 色欲综合久久中文字幕网 | 国产精品爱久久久久久久 | 樱花草在线社区www | 国产又爽又猛又粗的视频a片 | 久久五月精品中文字幕 | 欧美 亚洲 国产 另类 | 久久国产精品_国产精品 | 无遮挡国产高潮视频免费观看 | 精品久久久无码中文字幕 | 成人无码视频免费播放 | 国产在线一区二区三区四区五区 | 俺去俺来也www色官网 | 76少妇精品导航 | 日日天日日夜日日摸 | 99久久亚洲精品无码毛片 | 精品国产麻豆免费人成网站 | 在线观看国产一区二区三区 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲另类伦春色综合小说 | 人妻与老人中文字幕 | 亚洲阿v天堂在线 | 亚洲精品国偷拍自产在线麻豆 | 好男人社区资源 | 激情内射日本一区二区三区 | 精品国产一区av天美传媒 | 欧美 日韩 人妻 高清 中文 | 天天躁日日躁狠狠躁免费麻豆 | 成熟女人特级毛片www免费 | 久久亚洲日韩精品一区二区三区 | 国产内射爽爽大片视频社区在线 | 欧美精品在线观看 | 国产激情一区二区三区 | 亚洲成熟女人毛毛耸耸多 | 曰韩少妇内射免费播放 | 纯爱无遮挡h肉动漫在线播放 | 亚洲欧洲日本无在线码 | 我要看www免费看插插视频 | 日本xxxx色视频在线观看免费 | 国产 精品 自在自线 | 日本熟妇乱子伦xxxx | 国产高潮视频在线观看 | 国产精品亚洲一区二区三区喷水 | 久久久久av无码免费网 | 日日天干夜夜狠狠爱 | 一本大道久久东京热无码av | 最新国产乱人伦偷精品免费网站 | 波多野结衣一区二区三区av免费 | 国内精品久久毛片一区二区 | 国产精品无码一区二区桃花视频 | 国产人妻人伦精品1国产丝袜 | 一区二区三区高清视频一 | 久久久成人毛片无码 | 中文精品久久久久人妻不卡 | 大乳丰满人妻中文字幕日本 | 蜜桃视频韩日免费播放 | 精品无码国产一区二区三区av | 香港三级日本三级妇三级 | 国产精品亚洲lv粉色 | 麻豆果冻传媒2021精品传媒一区下载 | 国产 精品 自在自线 | 色窝窝无码一区二区三区色欲 | 国产高清av在线播放 | 国产精品永久免费视频 | 国产一区二区三区精品视频 | 无码午夜成人1000部免费视频 | 日日碰狠狠躁久久躁蜜桃 | 国产亚洲欧美日韩亚洲中文色 | 日本在线高清不卡免费播放 | 中国大陆精品视频xxxx | 大肉大捧一进一出视频出来呀 | 无码福利日韩神码福利片 | 理论片87福利理论电影 | 亚洲人成网站免费播放 | 一本久久a久久精品亚洲 | 亚洲欧美中文字幕5发布 | 日本va欧美va欧美va精品 | 成人影院yy111111在线观看 | 性欧美熟妇videofreesex | 4hu四虎永久在线观看 | 久久综合给合久久狠狠狠97色 | 97无码免费人妻超级碰碰夜夜 | 国产一区二区三区影院 | 国产亚洲欧美在线专区 | 亚洲色偷偷偷综合网 | 国产成人精品无码播放 | 国产精品18久久久久久麻辣 | 国产人妻人伦精品1国产丝袜 | 欧美性生交活xxxxxdddd | 无码av最新清无码专区吞精 | 成人欧美一区二区三区黑人免费 | 四虎国产精品一区二区 | 欧美人与物videos另类 | 欧美日韩综合一区二区三区 | 男女爱爱好爽视频免费看 | 人妻aⅴ无码一区二区三区 | 久久久www成人免费毛片 | 欧美熟妇另类久久久久久多毛 | 东京热无码av男人的天堂 | 国产精品亚洲а∨无码播放麻豆 | 成人亚洲精品久久久久软件 | 久久精品中文字幕大胸 | 激情五月综合色婷婷一区二区 | 国产精品igao视频网 | 色五月丁香五月综合五月 | 免费播放一区二区三区 | 亚洲精品久久久久avwww潮水 | 国产亚洲精品精品国产亚洲综合 | 图片区 小说区 区 亚洲五月 | 国产成人无码av在线影院 | 骚片av蜜桃精品一区 | 亚洲啪av永久无码精品放毛片 | 国产又爽又黄又刺激的视频 | 在线观看欧美一区二区三区 | 精品国产青草久久久久福利 | 性欧美熟妇videofreesex | 国产精品二区一区二区aⅴ污介绍 | 亚洲日韩中文字幕在线播放 | 成人精品视频一区二区 | 麻豆国产人妻欲求不满谁演的 | 国产精品-区区久久久狼 | 亚洲国精产品一二二线 | 亚洲国产精品无码久久久久高潮 | 蜜臀aⅴ国产精品久久久国产老师 | 中文字幕无码av激情不卡 | 成人欧美一区二区三区黑人 | 亚洲日本va午夜在线电影 | 日韩人妻无码中文字幕视频 | 欧美日韩一区二区三区自拍 | 乱人伦人妻中文字幕无码 | а天堂中文在线官网 | 亚洲色大成网站www国产 | 国产熟女一区二区三区四区五区 | 亚洲一区av无码专区在线观看 | 99精品久久毛片a片 | 呦交小u女精品视频 | 中文亚洲成a人片在线观看 | 日韩精品无码免费一区二区三区 | 老熟女重囗味hdxx69 | 欧美日韩在线亚洲综合国产人 | 成人亚洲精品久久久久 | 亚洲成av人片在线观看无码不卡 | 欧美亚洲国产一区二区三区 | www成人国产高清内射 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 一本加勒比波多野结衣 | 亚洲大尺度无码无码专区 | 国产精品高潮呻吟av久久 | 精品人妻人人做人人爽 | 日本va欧美va欧美va精品 | 一区二区传媒有限公司 | 麻豆国产丝袜白领秘书在线观看 | 国产亚洲美女精品久久久2020 | 亚洲欧美日韩国产精品一区二区 | 亚洲小说春色综合另类 | 久久亚洲中文字幕精品一区 | 成 人影片 免费观看 | 国产另类ts人妖一区二区 | 久久99精品国产麻豆蜜芽 | 亚洲国产午夜精品理论片 | 国产麻豆精品一区二区三区v视界 | 久久久亚洲欧洲日产国码αv | 少妇愉情理伦片bd | 少妇激情av一区二区 | 丰满少妇人妻久久久久久 | 好男人www社区 | 亚洲国产精品毛片av不卡在线 | 国产美女极度色诱视频www | 成人性做爰aaa片免费看不忠 | 无套内谢的新婚少妇国语播放 | 狂野欧美性猛交免费视频 | 宝宝好涨水快流出来免费视频 | 成人无码视频在线观看网站 | 波多野结衣一区二区三区av免费 | 纯爱无遮挡h肉动漫在线播放 | 波多野结衣乳巨码无在线观看 | 国产精品久免费的黄网站 | 亚洲乱码中文字幕在线 | 国产av无码专区亚洲a∨毛片 | 精品无人国产偷自产在线 | 老子影院午夜精品无码 | 成人欧美一区二区三区黑人免费 | 欧美老妇交乱视频在线观看 | 久久久久成人精品免费播放动漫 | 内射巨臀欧美在线视频 | 波多野结衣av在线观看 | 131美女爱做视频 | 国产网红无码精品视频 | 精品 日韩 国产 欧美 视频 | 成人女人看片免费视频放人 | 亚洲日本在线电影 | 美女极度色诱视频国产 | 性色欲情网站iwww九文堂 | 国内丰满熟女出轨videos | 中国大陆精品视频xxxx | 精品欧美一区二区三区久久久 | 老头边吃奶边弄进去呻吟 | 国产午夜无码精品免费看 | 国产深夜福利视频在线 | 久久综合九色综合欧美狠狠 | 亚洲日本va午夜在线电影 | 蜜臀av无码人妻精品 | 成人精品视频一区二区三区尤物 | 夜先锋av资源网站 | 搡女人真爽免费视频大全 | 欧美日韩一区二区综合 | 国产精品理论片在线观看 | 久久久中文久久久无码 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲欧美色中文字幕在线 | 丰满妇女强制高潮18xxxx | 无码吃奶揉捏奶头高潮视频 | 四虎影视成人永久免费观看视频 | 东京热一精品无码av | 国产av一区二区三区最新精品 | 风流少妇按摩来高潮 | 日韩人妻少妇一区二区三区 | 欧美人与牲动交xxxx | 粗大的内捧猛烈进出视频 | 国产精品a成v人在线播放 | 亚洲日韩一区二区三区 | 老熟妇仑乱视频一区二区 | 久久久久人妻一区精品色欧美 | 亚洲成a人一区二区三区 | 国产精品永久免费视频 | 亚洲精品国偷拍自产在线麻豆 | 亚洲人成影院在线观看 | 亚洲高清偷拍一区二区三区 | 无码人妻黑人中文字幕 | 亚洲爆乳精品无码一区二区三区 | 亚洲另类伦春色综合小说 | 午夜福利试看120秒体验区 | 九九在线中文字幕无码 | www国产亚洲精品久久网站 | 日韩av激情在线观看 | 欧美日韩综合一区二区三区 | 精品乱子伦一区二区三区 | 性做久久久久久久免费看 | 久久亚洲中文字幕精品一区 | a在线亚洲男人的天堂 | 麻豆国产人妻欲求不满谁演的 | 女高中生第一次破苞av | 人妻夜夜爽天天爽三区 | 97精品国产97久久久久久免费 | 精品欧洲av无码一区二区三区 | 国产手机在线αⅴ片无码观看 | 亚洲码国产精品高潮在线 | 久久这里只有精品视频9 | 漂亮人妻洗澡被公强 日日躁 | 久久精品中文字幕大胸 | 国产精品va在线播放 | 三上悠亚人妻中文字幕在线 | 国产小呦泬泬99精品 | 熟妇人妻无乱码中文字幕 | 国产办公室秘书无码精品99 | 国产黑色丝袜在线播放 | 久久久久免费精品国产 | 少妇无码一区二区二三区 | 亚洲国产综合无码一区 | 国产在线精品一区二区高清不卡 | 精品成人av一区二区三区 | √天堂中文官网8在线 | 人妻少妇被猛烈进入中文字幕 | 亚洲综合色区中文字幕 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产在热线精品视频 | 亚洲国产精品毛片av不卡在线 | 精品熟女少妇av免费观看 | 国产成人综合在线女婷五月99播放 | 无码成人精品区在线观看 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 成人免费视频视频在线观看 免费 | 成人无码精品1区2区3区免费看 | 国产免费无码一区二区视频 | 精品乱码久久久久久久 | 欧美三级a做爰在线观看 | 国产九九九九九九九a片 | 俄罗斯老熟妇色xxxx | 少妇邻居内射在线 | 人人妻人人澡人人爽人人精品浪潮 | 日韩欧美中文字幕在线三区 | 欧美日韩一区二区免费视频 | 亚洲国产综合无码一区 | 亚洲成a人一区二区三区 | 精品亚洲成av人在线观看 | 亚洲乱码中文字幕在线 | 国产成人无码午夜视频在线观看 | 少妇性l交大片欧洲热妇乱xxx | 99久久人妻精品免费二区 | 性欧美videos高清精品 | 特黄特色大片免费播放器图片 | 久久久久免费精品国产 | 老熟妇仑乱视频一区二区 | 乱中年女人伦av三区 | 草草网站影院白丝内射 | 玩弄人妻少妇500系列视频 | 丰满人妻精品国产99aⅴ | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 激情内射亚州一区二区三区爱妻 | 又湿又紧又大又爽a视频国产 | 国产精品va在线观看无码 | 日日橹狠狠爱欧美视频 | 在线播放无码字幕亚洲 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产高清av在线播放 | 国产熟妇高潮叫床视频播放 | 国产精品内射视频免费 | 好男人社区资源 | 国产亚洲欧美日韩亚洲中文色 | 久久精品视频在线看15 | 国产成人精品三级麻豆 | 国内精品久久久久久中文字幕 | 国产在线精品一区二区高清不卡 | 中文字幕av伊人av无码av | 久久天天躁狠狠躁夜夜免费观看 | 成人av无码一区二区三区 | 日韩少妇内射免费播放 | 丰满人妻被黑人猛烈进入 | 婷婷六月久久综合丁香 | 久久综合给久久狠狠97色 | 日韩无套无码精品 | 久久五月精品中文字幕 | 亚洲欧美日韩综合久久久 | 国产免费观看黄av片 | 久久国产精品精品国产色婷婷 | 欧美精品免费观看二区 | 亚洲色在线无码国产精品不卡 | 99久久久无码国产精品免费 | 日韩视频 中文字幕 视频一区 | 国产特级毛片aaaaaaa高清 | 色综合久久88色综合天天 | 久久久久亚洲精品中文字幕 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国精品人妻无码一区二区三区蜜柚 | 久久人妻内射无码一区三区 | 高清不卡一区二区三区 | 国产suv精品一区二区五 | 亚洲国产精品美女久久久久 | 国产在线aaa片一区二区99 | 最近中文2019字幕第二页 | 国产精品亚洲lv粉色 | 成在人线av无码免费 | 少妇高潮一区二区三区99 | 呦交小u女精品视频 | 国产成人无码一二三区视频 | www国产亚洲精品久久久日本 | 欧美丰满熟妇xxxx性ppx人交 | 在线播放无码字幕亚洲 | 99视频精品全部免费免费观看 | 亚洲成a人片在线观看日本 | 精品国产青草久久久久福利 | 亚洲精品鲁一鲁一区二区三区 | 国产又爽又黄又刺激的视频 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产性生大片免费观看性 | 国内精品九九久久久精品 | 美女毛片一区二区三区四区 | 东京一本一道一二三区 | 狠狠色色综合网站 | 性史性农村dvd毛片 | 一个人看的www免费视频在线观看 | 动漫av网站免费观看 | 一本久道久久综合婷婷五月 | 少妇被粗大的猛进出69影院 | 一本色道婷婷久久欧美 | 午夜精品久久久久久久久 | 国产精品怡红院永久免费 | 狠狠色欧美亚洲狠狠色www | 国产精品美女久久久久av爽李琼 | 99久久久国产精品无码免费 | 欧美乱妇无乱码大黄a片 | 国产乱人无码伦av在线a | 鲁一鲁av2019在线 | 国精产品一品二品国精品69xx | 亚洲国产精品无码一区二区三区 | 国产超碰人人爽人人做人人添 | 性欧美videos高清精品 | 免费中文字幕日韩欧美 | 亚洲精品中文字幕 | 久久视频在线观看精品 | 少妇激情av一区二区 | 欧美亚洲国产一区二区三区 | 女人被男人爽到呻吟的视频 | 一区二区三区高清视频一 | 色婷婷香蕉在线一区二区 | 亚洲人成网站免费播放 | 88国产精品欧美一区二区三区 | 玩弄少妇高潮ⅹxxxyw | 蜜臀av无码人妻精品 | 少妇被黑人到高潮喷出白浆 | 久久zyz资源站无码中文动漫 | 精品偷拍一区二区三区在线看 | 国产精品-区区久久久狼 | 日韩欧美中文字幕公布 | 国产亚洲精品久久久久久久 | 国产片av国语在线观看 | 色窝窝无码一区二区三区色欲 | 国产精华av午夜在线观看 | 99视频精品全部免费免费观看 | 18黄暴禁片在线观看 | 草草网站影院白丝内射 | 成人免费视频一区二区 | 亚洲区小说区激情区图片区 | 性做久久久久久久免费看 | 国产综合色产在线精品 | 毛片内射-百度 | 成人性做爰aaa片免费看不忠 | 久久精品无码一区二区三区 | 欧美激情综合亚洲一二区 | 久久久久av无码免费网 | 日本一卡二卡不卡视频查询 | 无码国模国产在线观看 | 偷窥村妇洗澡毛毛多 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲精品美女久久久久久久 | 美女毛片一区二区三区四区 | 亚洲国产欧美国产综合一区 | 亚洲精品久久久久中文第一幕 | 亚洲爆乳精品无码一区二区三区 | 国产亚洲精品久久久久久国模美 | 亚洲国产欧美在线成人 | 欧美日本精品一区二区三区 | 伊在人天堂亚洲香蕉精品区 | 人妻中文无码久热丝袜 | 天海翼激烈高潮到腰振不止 | 夜夜躁日日躁狠狠久久av | 国产亚洲精品久久久久久 | 亚洲精品久久久久avwww潮水 | 131美女爱做视频 | 爽爽影院免费观看 | 成人影院yy111111在线观看 | 岛国片人妻三上悠亚 | 亚洲国产高清在线观看视频 | 久久午夜无码鲁丝片秋霞 | 嫩b人妻精品一区二区三区 | 女高中生第一次破苞av | 国产综合久久久久鬼色 | www一区二区www免费 | 日本免费一区二区三区最新 | 亚洲国产精品一区二区第一页 | 人妻夜夜爽天天爽三区 | 久久久久成人片免费观看蜜芽 | 97精品人妻一区二区三区香蕉 | 亚洲成av人在线观看网址 | 国产午夜亚洲精品不卡下载 | 亚洲色无码一区二区三区 | 国产在线aaa片一区二区99 | 精品国产一区二区三区av 性色 | 中国大陆精品视频xxxx | 超碰97人人做人人爱少妇 | 中文字幕久久久久人妻 | 东京一本一道一二三区 | 国产精品嫩草久久久久 | 国産精品久久久久久久 | 国内精品一区二区三区不卡 | 成人试看120秒体验区 | 色综合久久久无码网中文 | 亚洲精品中文字幕乱码 | 国产精品.xx视频.xxtv | 亚洲精品久久久久avwww潮水 | 亚洲色欲色欲天天天www | 亚洲の无码国产の无码步美 | 国产精品久久精品三级 | 久久久中文字幕日本无吗 | 51国偷自产一区二区三区 | 久久综合网欧美色妞网 | 国产亚洲欧美日韩亚洲中文色 | 性欧美videos高清精品 | 青草青草久热国产精品 | 精品成人av一区二区三区 | 丰满人妻被黑人猛烈进入 | 亚洲精品国偷拍自产在线麻豆 | 精品国产av色一区二区深夜久久 | 麻豆蜜桃av蜜臀av色欲av | 色综合久久久久综合一本到桃花网 | 国产亚洲精品久久久久久 | 国产人妻精品一区二区三区不卡 | 亚洲精品一区二区三区四区五区 | 国产人妻久久精品二区三区老狼 | 在线看片无码永久免费视频 | 午夜精品一区二区三区在线观看 | 天天摸天天透天天添 | 日韩av激情在线观看 | 色爱情人网站 | 国产网红无码精品视频 | 亚洲日韩av一区二区三区中文 | 夫妻免费无码v看片 | 中文字幕中文有码在线 | 狠狠cao日日穞夜夜穞av | 国产情侣作爱视频免费观看 | 丰满人妻翻云覆雨呻吟视频 | 亚洲男人av天堂午夜在 | 国产午夜手机精彩视频 | 国产精品久久久久无码av色戒 | 国产绳艺sm调教室论坛 | 国产av无码专区亚洲a∨毛片 | 无码人妻av免费一区二区三区 | 窝窝午夜理论片影院 | 中文字幕乱妇无码av在线 | 对白脏话肉麻粗话av | 免费人成网站视频在线观看 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 男女超爽视频免费播放 | 青青青爽视频在线观看 | 久久精品人人做人人综合 | √8天堂资源地址中文在线 | 少妇邻居内射在线 | 亚洲日本在线电影 | 未满成年国产在线观看 | 18禁黄网站男男禁片免费观看 | 好男人社区资源 | 欧美成人免费全部网站 | 精品成在人线av无码免费看 | 亚洲精品国偷拍自产在线观看蜜桃 | 欧美精品一区二区精品久久 | 色婷婷综合激情综在线播放 | 日韩欧美成人免费观看 | 亚洲日本va中文字幕 | 人人妻人人澡人人爽精品欧美 | 一本精品99久久精品77 | 无码人妻精品一区二区三区下载 | 99在线 | 亚洲 | 国产精品沙发午睡系列 | 国产97色在线 | 免 | 免费视频欧美无人区码 | 国产成人一区二区三区在线观看 | 熟妇人妻激情偷爽文 | 图片小说视频一区二区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 夜夜影院未满十八勿进 | 九九久久精品国产免费看小说 | 东京热男人av天堂 | 国产美女精品一区二区三区 | 亚洲热妇无码av在线播放 | 野外少妇愉情中文字幕 | 黑人玩弄人妻中文在线 | 久久无码专区国产精品s | 国产精品va在线观看无码 | 婷婷丁香五月天综合东京热 | 欧美丰满熟妇xxxx性ppx人交 | 久久99精品国产麻豆蜜芽 | 中文字幕人成乱码熟女app | 色欲久久久天天天综合网精品 | 国产人妻人伦精品 | 日韩av无码一区二区三区不卡 | 亚洲小说春色综合另类 | 国产成人av免费观看 | 国产免费无码一区二区视频 | 麻豆蜜桃av蜜臀av色欲av | 少妇无套内谢久久久久 | 久久久久成人片免费观看蜜芽 | 亚洲第一无码av无码专区 | 清纯唯美经典一区二区 | 亚洲精品综合一区二区三区在线 | 奇米影视7777久久精品人人爽 | 国产精品丝袜黑色高跟鞋 | 偷窥村妇洗澡毛毛多 | 亚洲精品一区二区三区在线观看 | 亚洲s码欧洲m码国产av | 精品人妻人人做人人爽夜夜爽 | 亚洲最大成人网站 | 欧美真人作爱免费视频 | 欧美熟妇另类久久久久久多毛 | aⅴ在线视频男人的天堂 | 131美女爱做视频 | ass日本丰满熟妇pics | 国模大胆一区二区三区 | 亚洲日韩精品欧美一区二区 | 无码国内精品人妻少妇 | 久久这里只有精品视频9 | 狠狠躁日日躁夜夜躁2020 | 中文字幕亚洲情99在线 | 国产suv精品一区二区五 | 亚洲精品久久久久中文第一幕 | 色诱久久久久综合网ywww | 久久熟妇人妻午夜寂寞影院 | 亚洲中文字幕无码中文字在线 | 精品夜夜澡人妻无码av蜜桃 | 欧洲熟妇精品视频 | 成人无码影片精品久久久 | 纯爱无遮挡h肉动漫在线播放 | 精品无码一区二区三区的天堂 | 精品人妻人人做人人爽 | 丰满少妇高潮惨叫视频 | aⅴ亚洲 日韩 色 图网站 播放 | 国产 精品 自在自线 | 国产精品亚洲专区无码不卡 | 内射巨臀欧美在线视频 | 亚洲成a人片在线观看日本 | 亚洲精品成人av在线 | 国产精品办公室沙发 | 久久精品中文闷骚内射 | 中文字幕人妻无码一区二区三区 | 精品国产青草久久久久福利 | 欧美熟妇另类久久久久久不卡 | 成人无码精品1区2区3区免费看 | 无码国产激情在线观看 | 欧美黑人巨大xxxxx | 国产人妻大战黑人第1集 | 亚洲自偷自偷在线制服 | 久久人人爽人人爽人人片av高清 | 久热国产vs视频在线观看 | 熟女俱乐部五十路六十路av | 亚洲成a人片在线观看日本 | 3d动漫精品啪啪一区二区中 | 国产激情精品一区二区三区 | 中文字幕人妻无码一夲道 | 国产又粗又硬又大爽黄老大爷视 | 99久久亚洲精品无码毛片 | 99视频精品全部免费免费观看 | 成人免费无码大片a毛片 | 国内少妇偷人精品视频免费 | 激情亚洲一区国产精品 | 亚洲大尺度无码无码专区 | 色一情一乱一伦一区二区三欧美 | 国产两女互慰高潮视频在线观看 | 久久人妻内射无码一区三区 | 午夜肉伦伦影院 | 少妇被黑人到高潮喷出白浆 | 日韩欧美中文字幕在线三区 | 久久99久久99精品中文字幕 | √8天堂资源地址中文在线 | 国产亚洲精品久久久久久久久动漫 | 亚洲午夜久久久影院 | 国产乱子伦视频在线播放 | 亚洲一区二区三区偷拍女厕 | 久久国语露脸国产精品电影 | 中文亚洲成a人片在线观看 | 国产精品久久久久无码av色戒 | 国产偷自视频区视频 | 乌克兰少妇xxxx做受 | 日本大乳高潮视频在线观看 | 76少妇精品导航 | 久久国产精品萌白酱免费 | 国产精品丝袜黑色高跟鞋 | 婷婷丁香六月激情综合啪 | 国产人妻人伦精品1国产丝袜 | 亚洲成av人影院在线观看 | 欧美老妇交乱视频在线观看 | 荫蒂被男人添的好舒服爽免费视频 | 中文字幕av日韩精品一区二区 | 精品国偷自产在线 | 久久亚洲精品成人无码 | 任你躁在线精品免费 | 装睡被陌生人摸出水好爽 | 久久久久免费看成人影片 | 老太婆性杂交欧美肥老太 | 99久久无码一区人妻 | 国产一区二区三区影院 | 夜夜躁日日躁狠狠久久av | 国产9 9在线 | 中文 | 国内少妇偷人精品视频免费 | 久9re热视频这里只有精品 | 无码人妻av免费一区二区三区 | 55夜色66夜色国产精品视频 | 中文字幕人妻无码一夲道 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产精品久久久久久亚洲毛片 | 亚洲色大成网站www | 99久久99久久免费精品蜜桃 | 国产av一区二区三区最新精品 | 久久精品一区二区三区四区 | 亚洲色偷偷男人的天堂 | 国产亚洲精品久久久久久 | 少妇人妻大乳在线视频 | 骚片av蜜桃精品一区 | 一本久久伊人热热精品中文字幕 | 无套内射视频囯产 | 无码毛片视频一区二区本码 | 国产美女精品一区二区三区 | 暴力强奷在线播放无码 | 色婷婷av一区二区三区之红樱桃 | 国产成人一区二区三区别 | 蜜桃av抽搐高潮一区二区 | 国产成人无码av片在线观看不卡 | 亚洲欧美日韩国产精品一区二区 | 色综合视频一区二区三区 | 国产精品久免费的黄网站 | 国产精品无码成人午夜电影 | 亚洲一区二区三区在线观看网站 | 欧美人与物videos另类 | 国内揄拍国内精品少妇国语 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产综合在线观看 | 国产成人精品无码播放 | 亚洲の无码国产の无码影院 | 麻豆果冻传媒2021精品传媒一区下载 | 精品亚洲成av人在线观看 | 亚洲小说图区综合在线 | 亚洲日韩一区二区三区 | 日本爽爽爽爽爽爽在线观看免 | 午夜福利一区二区三区在线观看 | 国产免费久久精品国产传媒 | 亚洲gv猛男gv无码男同 | 国产精品久久久 | 亚洲成a人片在线观看日本 | 日日噜噜噜噜夜夜爽亚洲精品 | 小鲜肉自慰网站xnxx | 一二三四社区在线中文视频 | 国产精品怡红院永久免费 | 成人影院yy111111在线观看 | 国产无套粉嫩白浆在线 | av在线亚洲欧洲日产一区二区 | 国产疯狂伦交大片 | 久久午夜无码鲁丝片午夜精品 | 人人妻人人澡人人爽人人精品浪潮 | 国产午夜精品一区二区三区嫩草 | 乱中年女人伦av三区 | 性生交大片免费看女人按摩摩 | 天堂久久天堂av色综合 | 少妇无码一区二区二三区 | 一本久久伊人热热精品中文字幕 | 亚洲欧美日韩成人高清在线一区 | 成熟妇人a片免费看网站 | 国产三级精品三级男人的天堂 | 高清国产亚洲精品自在久久 | 国产精品国产自线拍免费软件 | 久久99精品久久久久婷婷 | 欧美自拍另类欧美综合图片区 | 白嫩日本少妇做爰 | 性色欲网站人妻丰满中文久久不卡 | 亚洲最大成人网站 | 中文字幕人成乱码熟女app | 婷婷丁香五月天综合东京热 | 国产成人无码一二三区视频 | 色老头在线一区二区三区 | 国产激情综合五月久久 | 最近中文2019字幕第二页 | 扒开双腿吃奶呻吟做受视频 | 又黄又爽又色的视频 | 四虎国产精品一区二区 | 精品国偷自产在线 | 又湿又紧又大又爽a视频国产 | 日本欧美一区二区三区乱码 | a片在线免费观看 | 久久精品女人天堂av免费观看 | 久久久无码中文字幕久... | 欧美老人巨大xxxx做受 | 无码人妻丰满熟妇区毛片18 | 中文字幕av日韩精品一区二区 | 四虎影视成人永久免费观看视频 | 最近的中文字幕在线看视频 | 久久天天躁夜夜躁狠狠 | 久久亚洲精品中文字幕无男同 | 男女下面进入的视频免费午夜 | 99久久99久久免费精品蜜桃 | 在线精品亚洲一区二区 | 日欧一片内射va在线影院 | 99精品国产综合久久久久五月天 | 国产小呦泬泬99精品 | 成人无码精品1区2区3区免费看 | 精品无码国产自产拍在线观看蜜 | 樱花草在线社区www | 在线精品亚洲一区二区 | 国产女主播喷水视频在线观看 | 国产精品丝袜黑色高跟鞋 | 国产成人久久精品流白浆 | 亚洲一区二区三区含羞草 | 日本熟妇乱子伦xxxx | 台湾无码一区二区 | 国产精品免费大片 | 日日摸夜夜摸狠狠摸婷婷 | 一本久道高清无码视频 | 2020久久香蕉国产线看观看 | 亚洲自偷自偷在线制服 | 国产乱人伦av在线无码 | 最近中文2019字幕第二页 | 亚洲一区二区三区国产精华液 | 在线播放免费人成毛片乱码 | 国产成人无码av片在线观看不卡 | 精品国产精品久久一区免费式 | 亚洲 激情 小说 另类 欧美 | 国产免费久久精品国产传媒 | a国产一区二区免费入口 | 国产熟妇高潮叫床视频播放 | 熟妇女人妻丰满少妇中文字幕 | 亚洲精品中文字幕久久久久 | 高潮毛片无遮挡高清免费 | 亚洲色无码一区二区三区 | 在线精品亚洲一区二区 | 色综合天天综合狠狠爱 | 女人高潮内射99精品 | 正在播放东北夫妻内射 | 4hu四虎永久在线观看 | 成人女人看片免费视频放人 | 国产无遮挡又黄又爽又色 | 国产sm调教视频在线观看 | 少妇太爽了在线观看 | 在线 国产 欧美 亚洲 天堂 | 99久久久国产精品无码免费 | 伊人久久大香线蕉av一区二区 | 国产特级毛片aaaaaaa高清 | 日本欧美一区二区三区乱码 | 国产一区二区三区日韩精品 | 久久精品国产精品国产精品污 | 国产精品亚洲五月天高清 | 99久久99久久免费精品蜜桃 | 亚洲综合伊人久久大杳蕉 | 老子影院午夜精品无码 | 在线精品亚洲一区二区 | 国内精品人妻无码久久久影院蜜桃 | 日韩在线不卡免费视频一区 | 亚洲熟悉妇女xxx妇女av | 3d动漫精品啪啪一区二区中 | 高清国产亚洲精品自在久久 | 亚洲国产av美女网站 | 色婷婷综合激情综在线播放 | 久9re热视频这里只有精品 | √8天堂资源地址中文在线 | 亚洲男女内射在线播放 | 波多野42部无码喷潮在线 | 好爽又高潮了毛片免费下载 | 扒开双腿疯狂进出爽爽爽视频 | 精品国产一区二区三区四区 | 真人与拘做受免费视频 | 久久综合给久久狠狠97色 | 国产综合在线观看 | 久久亚洲精品中文字幕无男同 | 国产精品无码一区二区桃花视频 | 日本肉体xxxx裸交 | 波多野结衣一区二区三区av免费 | 精品人人妻人人澡人人爽人人 | 欧美激情一区二区三区成人 | 久久久国产一区二区三区 | 国产在线精品一区二区高清不卡 | 精品夜夜澡人妻无码av蜜桃 | 无码国模国产在线观看 | 国产精品二区一区二区aⅴ污介绍 | 亚洲大尺度无码无码专区 | 久久久精品人妻久久影视 | 中文字幕av日韩精品一区二区 | 国产亚洲精品精品国产亚洲综合 | 欧美精品无码一区二区三区 | 2019nv天堂香蕉在线观看 | 欧美精品在线观看 | 99视频精品全部免费免费观看 | 精品少妇爆乳无码av无码专区 | 中文字幕色婷婷在线视频 | 中文字幕久久久久人妻 | 欧美高清在线精品一区 | 久精品国产欧美亚洲色aⅴ大片 | 丰满人妻一区二区三区免费视频 | 国产成人精品优优av | 97se亚洲精品一区 | 成人无码精品1区2区3区免费看 | 欧美性猛交内射兽交老熟妇 | 国产精品高潮呻吟av久久4虎 | 无码国产激情在线观看 | 精品无码一区二区三区的天堂 | 99久久人妻精品免费二区 | 亚洲综合无码久久精品综合 | 思思久久99热只有频精品66 | 国产精品第一国产精品 | 亚洲国产精品一区二区第一页 | 欧美黑人性暴力猛交喷水 | 人妻插b视频一区二区三区 | 野狼第一精品社区 | 亚洲色偷偷偷综合网 | 中文字幕精品av一区二区五区 | 成人无码精品1区2区3区免费看 | 99久久人妻精品免费二区 | 成人无码视频免费播放 | 久久www免费人成人片 | 领导边摸边吃奶边做爽在线观看 | 九九综合va免费看 | 国产亲子乱弄免费视频 | 欧美 丝袜 自拍 制服 另类 | 一本大道久久东京热无码av | 久精品国产欧美亚洲色aⅴ大片 | 日韩av无码一区二区三区不卡 | 欧美午夜特黄aaaaaa片 | 午夜福利一区二区三区在线观看 | 国产精品久久久久久亚洲毛片 | 自拍偷自拍亚洲精品10p | 东京无码熟妇人妻av在线网址 | 国产农村乱对白刺激视频 | 国产成人精品一区二区在线小狼 | 亚洲成a人片在线观看日本 | 国产成人精品一区二区在线小狼 | 亚洲欧美国产精品久久 | 乱人伦人妻中文字幕无码久久网 | 国产亚洲精品久久久久久久久动漫 | 国内揄拍国内精品人妻 | 欧美日本免费一区二区三区 | 日韩精品成人一区二区三区 | 97精品人妻一区二区三区香蕉 | 国产欧美精品一区二区三区 | 97人妻精品一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 荫蒂被男人添的好舒服爽免费视频 | 未满小14洗澡无码视频网站 | 国产熟女一区二区三区四区五区 | 精品一区二区三区无码免费视频 | 中文字幕av日韩精品一区二区 | 人人妻人人澡人人爽欧美一区九九 | 国産精品久久久久久久 | 麻豆蜜桃av蜜臀av色欲av | 久久99国产综合精品 | 麻豆国产丝袜白领秘书在线观看 | 夜先锋av资源网站 | 久久综合给合久久狠狠狠97色 | 未满小14洗澡无码视频网站 | 欧美精品无码一区二区三区 | 亚洲精品一区三区三区在线观看 | 亚洲中文字幕久久无码 | 亚洲精品一区三区三区在线观看 | 奇米影视888欧美在线观看 | 国产莉萝无码av在线播放 | 日本乱偷人妻中文字幕 | 亚洲另类伦春色综合小说 | 日本精品人妻无码77777 天堂一区人妻无码 | 人妻插b视频一区二区三区 | 荫蒂被男人添的好舒服爽免费视频 | 久久精品女人的天堂av | 欧美日本精品一区二区三区 | 在线a亚洲视频播放在线观看 | 精品国产麻豆免费人成网站 | 国产片av国语在线观看 | 日韩人妻系列无码专区 | 熟女少妇在线视频播放 | 日日橹狠狠爱欧美视频 | 久久久精品欧美一区二区免费 | 亚洲国产精品一区二区第一页 | 中文字幕人妻无码一区二区三区 | 国产熟妇另类久久久久 | 亚洲成a人片在线观看无码3d | 中文字幕无码av激情不卡 | 两性色午夜视频免费播放 | 国产真实乱对白精彩久久 | 欧美精品国产综合久久 | 永久免费观看美女裸体的网站 | 精品国产乱码久久久久乱码 | 亚洲自偷自拍另类第1页 | 无码一区二区三区在线观看 | 噜噜噜亚洲色成人网站 | 久久精品国产一区二区三区 | 在线亚洲高清揄拍自拍一品区 | 欧美黑人性暴力猛交喷水 | 国语精品一区二区三区 | 小鲜肉自慰网站xnxx | 55夜色66夜色国产精品视频 | 一本大道久久东京热无码av | 亚洲爆乳无码专区 | 久久久精品成人免费观看 | 人妻无码久久精品人妻 | 色欲av亚洲一区无码少妇 | 特黄特色大片免费播放器图片 | 久久久久免费精品国产 | 亚洲 日韩 欧美 成人 在线观看 | 少妇一晚三次一区二区三区 | 亚洲国产精品一区二区美利坚 | 久久99热只有频精品8 | 女高中生第一次破苞av | 久久久婷婷五月亚洲97号色 | 国产成人精品必看 | 精品国偷自产在线视频 | 白嫩日本少妇做爰 | 国产另类ts人妖一区二区 | 国产熟女一区二区三区四区五区 | 国产熟女一区二区三区四区五区 | 中文字幕人妻无码一区二区三区 | 99精品视频在线观看免费 | 中文字幕无码热在线视频 | 久久99国产综合精品 | 中文字幕无码日韩欧毛 | 亚洲欧洲中文日韩av乱码 | 精品午夜福利在线观看 | 人妻无码久久精品人妻 | 伊人久久大香线焦av综合影院 | 无码av免费一区二区三区试看 | 中文字幕无码乱人伦 | 精品成在人线av无码免费看 | 无码国模国产在线观看 | 特级做a爰片毛片免费69 | 一本久道久久综合狠狠爱 | 性史性农村dvd毛片 | 六月丁香婷婷色狠狠久久 | 久久午夜无码鲁丝片 | 亚洲国产日韩a在线播放 | 日韩人妻无码一区二区三区久久99 | 丰满岳乱妇在线观看中字无码 | 女人被男人躁得好爽免费视频 | 亚洲成色www久久网站 | 青青青手机频在线观看 | 97无码免费人妻超级碰碰夜夜 | 青青青手机频在线观看 | 清纯唯美经典一区二区 | 美女扒开屁股让男人桶 | 国产美女极度色诱视频www | 图片区 小说区 区 亚洲五月 | 麻豆果冻传媒2021精品传媒一区下载 | 理论片87福利理论电影 | 精品国产aⅴ无码一区二区 | 久久久久成人片免费观看蜜芽 | 国产av无码专区亚洲a∨毛片 | 日韩av无码一区二区三区 | 久久无码中文字幕免费影院蜜桃 | 欧美野外疯狂做受xxxx高潮 | 青青草原综合久久大伊人精品 | 欧美肥老太牲交大战 | 日韩视频 中文字幕 视频一区 | 青草青草久热国产精品 | 欧美精品国产综合久久 | 精品一区二区三区无码免费视频 | 色偷偷人人澡人人爽人人模 | 色欲av亚洲一区无码少妇 | 日日麻批免费40分钟无码 | 天天燥日日燥 | 人妻体内射精一区二区三四 | 精品水蜜桃久久久久久久 | 色一情一乱一伦 | 成人影院yy111111在线观看 | 亚洲七七久久桃花影院 | 伊人久久大香线蕉av一区二区 | 国产深夜福利视频在线 | 久久综合给合久久狠狠狠97色 | 女人被男人躁得好爽免费视频 | 国产亚洲精品久久久久久久久动漫 | 3d动漫精品啪啪一区二区中 | 日产精品99久久久久久 | 国产av人人夜夜澡人人爽麻豆 | 99在线 | 亚洲 | 成人av无码一区二区三区 | 中文字幕人妻无码一区二区三区 | 国产精品无码成人午夜电影 | 亚洲精品国偷拍自产在线观看蜜桃 | 青春草在线视频免费观看 | 鲁鲁鲁爽爽爽在线视频观看 | 在线观看国产一区二区三区 | 狠狠色噜噜狠狠狠7777奇米 | 国语自产偷拍精品视频偷 | 男女下面进入的视频免费午夜 | 性欧美熟妇videofreesex | 中文字幕精品av一区二区五区 | 成人女人看片免费视频放人 | 久9re热视频这里只有精品 | 久久久久久久女国产乱让韩 | 免费乱码人妻系列无码专区 | 99久久人妻精品免费一区 | 无码人妻丰满熟妇区毛片18 | 精品国产国产综合精品 | 水蜜桃色314在线观看 | 初尝人妻少妇中文字幕 | 国产熟妇高潮叫床视频播放 | 又黄又爽又色的视频 | 国产精品理论片在线观看 | 色婷婷综合激情综在线播放 | 日本一区二区三区免费高清 | 青青久在线视频免费观看 | 久久精品视频在线看15 | 色综合天天综合狠狠爱 | 亚洲色偷偷男人的天堂 | 丰满岳乱妇在线观看中字无码 | 亚洲精品美女久久久久久久 | 久久精品人人做人人综合 | 97人妻精品一区二区三区 | 成年美女黄网站色大免费全看 | 国内精品一区二区三区不卡 | 国产免费无码一区二区视频 | 亚洲男人av天堂午夜在 | 国产av一区二区精品久久凹凸 | 色综合久久久久综合一本到桃花网 | 欧美成人午夜精品久久久 | 国产办公室秘书无码精品99 | 久久成人a毛片免费观看网站 |