Swift基礎(chǔ)

import Foundation

print("1","2","3","4");

//輸出多個字符串,并用“***”并用 \n 換行

print("1","2","3","4", separator: "---", terminator: "\n")

//常量

let num = 120

//變量

var num2 = 18

num2 = 10

print(num,num2)

//類型安全和類型推斷

let num3:Int =? 18

//num3 = 3.14 類型不匹配

var num4:Float = 2123

//num4 = Int(4) 類型不匹配

//類型推斷

//根據(jù)賦值推斷出變量或常量的類型

var num5 = 19

let num6 = 3.14//Double

var char:Character = "C"

var char2 = "C"http://String

var str = String("123123")

var str2 = "123123"http://字面變量創(chuàng)建

let 二進(jìn)制 = 010101

print(二進(jìn)制)

let 八進(jìn)制 = 0o11

print(八進(jìn)制)

let 十進(jìn)制 = 111

print(十進(jìn)制)

let 十六進(jìn)制 = 0x11

print(十六進(jìn)制)

//數(shù)據(jù)類型轉(zhuǎn)換

var t = 3

let t1 = 2.34

let result = Double(t) + t1

print("Double:\(result)")

let result2 = t + Int(t1)

print("result2:\(result2)")

let result3 = String(t)

print("String:\(result3)")

let result4 = Int("123")//返回值是可選類型

print(result4)//Optional(123)

let result5 = result4! + 5//可選類型不能直接參與運算,需要解包取出里面的值闷叉,再做運算

print(result5)

//布爾值 Boll 主要用作判斷條件和循環(huán)條件嘹黔,swift中不在有非零即為真

var flag = true

print(flag)

flag = false

print(flag)

if false{

print("永真")

}//認(rèn)為不執(zhí)行管搪,白寫

//while ture{

//? ? print("死循環(huán)")

//}

//元組? Tuple 主要用來處理當(dāng)一個函數(shù)需要多個返回值的情況

let tuple = (name:"里斯",age:18,123)

//訪問元組的內(nèi)容

//通過下標(biāo)訪問

print(tuple.0)

print(tuple.1)

print(tuple.2)

//通過元素訪問

print(tuple.name)

print(tuple.age)

/*

func 函數(shù)名(參數(shù)列表) -> 返回值類型 {

函數(shù)體

}

*/

//求和函數(shù)

func sum(num1:Int,num2:Int) ->Int{

return num1+num2

}

print(sum(num1: 1, num2: 2))

//元組的使用場景

func backValue(num1:Int,num2:Int) -> (Int,Int){

return (num1+num2,num1-num2)

}

let tuple2 = backValue(num1: 12, num2: 3)

print(tuple2)

print(tuple2.0,tuple2.1)

//可選類型 Optional 可選類型主要用來處理可能缺失的情況

var aString:String? = nil//定義可選類型的字符串

var aInt:Int? = nil //定義一個可選類型的整數(shù)

aString = "JiNingShiFan"

print(aString)

//對一個值為空的可選類型進(jìn)行解包是很危險的,解包前要判斷是否有值,或者賦值

let newString = aString! + "IOS Class"

print(newString)

var sum = 0

//先判斷可選類型是否為空行施,不為空才解包

if aInt != nil{

sum = aInt! + 10

}

print(sum)

//可選綁定

let str3:String? = "I love"

var str4 = ""

//系統(tǒng)內(nèi)部就幫我們把可選類型str3值解包出來了,不需要手動再解包魂那,如果str3值不為空悲龟,if的條件為true,如果str3的值為空冰寻,if就是false须教,則不執(zhí)行if語句

if let vauleString = str3{

str4 = vauleString + " XiangLaoShi"

}

print(str4)

//隱式解包類型

//隱式解包類型要求必須賦值,才能使用斩芭,nil也可以

var v:Int! = nil

//此時再使用v中的值時轻腺,就不能再使用!解包了划乖,因為已經(jīng)解包過了

v = 18

let value = v + 12

print(value)

//for循環(huán)

//for C語言的格式已經(jīng)被棄用了

//for(i:Int;i<10;i++){

//

//}

//使用for循環(huán)輸出1到10

//...代表閉區(qū)間[1,10]

for i in 1...10{

print(i)

}

//使用for輸出1到9

//..<代表開區(qū)間[1,10)

for i in 1..<10{

print(i)

}

//輸出10遍Hello World

//如果沒有使用到循環(huán)變量贬养,可以用下劃線 _ 替換掉

for _ in 1...10{

print("Hello World")

}

//求1~100的和

//定義變量存儲最終的結(jié)果 sum1

var sum1 = 0

//利用for循環(huán)遍歷1~100,并把結(jié)果放到sum1中

for i in 1...100{

sum1+=i

}

print(sum1)

//repeat-while循環(huán)

var m = 0

repeat {

print("班里美女好多")

m += 1// ++ 和 -- 已經(jīng)被棄用了

}while m < 10

//創(chuàng)建字符串

let s1 = "字面量格式創(chuàng)建"

print(s1)

//使用初始化方法創(chuàng)建

let s2 = String("初始化方法創(chuàng)建")//創(chuàng)建出來的是可選類型字符串

print(s2!)

//操作字符串方法和屬性

let s3 = "Hello World"

//獲取字符串的長度

print(s3.characters.count)//先獲取字符琴庵,再count獲取長度

//大寫字符串的方法

let nStr = s3.uppercased()

print(nStr,s3)

//小寫字符串的方法

let nStr2 = nStr.lowercased()

print(nStr2,nStr)

//字符串拼接

var s4 = "zhangquandan"

s4.append(" funtukang")//拼接內(nèi)容直接作用到原串上了

print(s4)

let nStr3 = s4.appending(" qipashuo")//拼接的內(nèi)容沒有作用到原串上误算,而是返回一個新的字符串

print("nStr3"+nStr3,"s4"+s4)

//遍歷字符串

let s5 = "We are fimily"

for char in s5.characters{

print(char)

}

//字符串的格式化拼接

for i in 1..<10{

let str = String(format: "student%02d", i)//%02d占位符及所占位置

print(str)

}

//數(shù)組 Swift創(chuàng)建數(shù)組一定要制定存放的元素類型let arr1 = [Int]()var arr2 = [String]()//添加元素arr2.append("zhangsan")print(arr2)arr2[0] = "Lisi"print(arr2)//字面量創(chuàng)建數(shù)組var arr3 = ["zhangsan","Lisi","wanger","mazi"]//刪除//根據(jù)下標(biāo)刪除arr3.remove(at: 0)print(arr3)//刪除最后一個元素arr3.removeLast()//arr3.remove(at:2)//刪除第一個元素arr3.removeFirst()//刪除所有元素arr3.removeAll()//獲取元素個數(shù)print(arr3.count)print(arr3)//數(shù)組遍歷var arr4 = ["huaqiangu","shaqianmo","dongfangyuqin","tangbao","zunshang"]for item in arr4{? ? print(item)}for (i,Item) in arr4.enumerated(){? ? print("item:\(Item)index:\(i)")}//數(shù)組排序arr4.sort()print(arr4)var numArr = [8,4,3,7,2,1]//冒泡排序:外層控制比較趟數(shù),內(nèi)層控制比較次數(shù)//外層控制比較的趟數(shù)for i in 0..numArr[j+1] {

let temp = numArr[j]

numArr[j] = numArr[j+1]

numArr[j+1] = temp

}

}

}

print(numArr)

//元素的插入

var arr5 = ["a","b","c","d"]

arr5.insert("f", at: 4)

print(arr5)

//字典 創(chuàng)建字典和創(chuàng)建數(shù)組是一樣迷殿,創(chuàng)建同時就要制定key和value值的類型

let dict = [String:Int]()

let dict2 = ["name":"亞索","age":18,"height":1.8] as [String : Any]//Any說明value的值時任意值

//訪問字典的元素

print("國服第一亞索"+(dict2["name"] as! String))

var dic3 = ["name":"蠻子","gender":"妖","skill":"蠻三刀"]

//找得到key值就是改儿礼,找不到key值就是添加

dic3["gender"] = "漢子"

dic3["hobby"] = "找妹子"

//字典的刪除

dic3.removeValue(forKey: "gender")

print(dic3)

//字典的遍歷

//遍歷鍵值對

for value in dic3{

print(value)

}

//遍歷字典key值

for key in dic3.keys{

print(key)

}

//遍歷value值

for value in dic3.values{

print(value)

}

//枚舉

/*enum 枚舉名:值類型{

case 枚舉情況 = 初始值

case 枚舉情況 = 初始值

}*/

//值類型和初始值可以選擇是否賦值

//枚舉也是一種數(shù)據(jù)類型,只不過是我們自定義的數(shù)據(jù)類型

//季節(jié)

enum Season:String{

case spring = "春天"http://0

case summer = "夏天"http://1

case autumn = "秋天"http://2

case winter = "冬天"http://3

}

//定義變量常量

let aSeason = Season.spring

//給定數(shù)據(jù)類型時就可以省略枚舉類型

let aSeason2:Season = .summer

//不給數(shù)據(jù)類型首次賦值一定要給枚舉類型

var aSeason3 = Season.summer

aSeason3 = .spring//確定輸出的值

//獲取枚舉情況的值

print(aSeason3.rawValue)//rawValue 才是真正的枚舉值

print(aSeason3.hashValue)//hashValue case的編號

//枚舉常和switch語句結(jié)合使用

switch aSeason3{

case .spring:

print("高鞠來了")

fallthrough//增加穿透性庆寺,但只能穿一次

case .summer:

print("嚇?biāo)缹殞毩?)

case .autumn:

print("秋")

case .winter:

print("凍死寶寶了")

//? ? 枚舉情況都列舉完蚊夫,default語句就不要再寫

//? ? 枚舉情況沒有列舉完,必須添加default語句

//default:

//? ? print("我來自星星E吵ⅰV住!")

}

//函數(shù):能完成特定功能的代碼段 好處:方便調(diào)用陵霉,保護(hù)知識產(chǎn)權(quán)琅轧,減少代碼凹余

/*

func 函數(shù)名(參數(shù)) -> 返回值類型 {

函數(shù)體

}

*/

//無參無返回值

//小王給祥哥買紅酒(祥哥沒給錢,沒有紅酒給祥哥)

func buyRedWine() -> Void {

print("沒錢沒酒")

}

//函數(shù)調(diào)用

buyRedWine()

//無參有返回值

func buyRedWine2() -> Int {

print("82年的拉菲來一瓶")

return 1

}

let bottle = buyRedWine2()

print("買了\(bottle)瓶")

//有參無返回值

func buyXueBi(money:Int) {

print("\(money)塊錢坝荒印乍桂!好多啊!跑路了")

}

buyXueBi(money: 100)

//有參有返回值

func buyXueBi2(money:Int) -> Int {

print("買了\(money/2)瓶雪碧")

return money / 2

}

let bottle2 = buyXueBi2(money: 5)

print("買了\(bottle2)瓶雪碧")

//寫一個函數(shù)計算兩個數(shù)的和

//oneNumber,otherNumber是外部參數(shù)模蜡,對形參進(jìn)行解釋說明

func sum(oneNumber a:Int,otherNumber b:Int) -> Int {

return a + b

}

//調(diào)用時傳的值是實參

//print(sum(a: 10, b: 20)) error

print(sum(oneNumber: 10, otherNumber: 20))

//可變參數(shù)函數(shù)

func qiuHe(numbers:Int...) -> Int {//參數(shù)是可變的漠趁,個數(shù)是不固定的

//? ? 傳的多個參數(shù)存放在numbers形參里了,此時numbers相當(dāng)于一個數(shù)組

var reslut = 0

for item in numbers {

reslut += item

}

return reslut

}

print(qiuHe(numbers: 1,2,3,4,5,6,7))

//定義一個函數(shù)交換兩個變量的值

//swift中所有的形參默認(rèn)都是常量忍疾,函數(shù)內(nèi)部不能修改函數(shù)的值

func swap(num1:inout Int , num2:inout Int) {

let temp = num1

num1 = num2

num2 = temp

}

var a = 10, b = 20

swap(&a, &b)

print("a=\(a)","b=\(b)")

//結(jié)構(gòu)體 用來描述一個由多個屬性組成的整體闯传,也是一種自定數(shù)據(jù)類型

/*

struct 結(jié)構(gòu)體名 {

屬性列表

方法

}

*/

//類的三大特性:分裝,繼承卤妒,多態(tài)

struct Orgin {

//存儲屬性

var x:Float

var y:Float

//? ? 對象方法

func drawOrign() {

print("在二維坐標(biāo)系中畫一個點")

}

//? ? 類方法

static func showPoint(){

print("我是一個點")

}

}

//結(jié)構(gòu)體的 使用

let p1 = Orgin(x: 10.2, y: 15.3)

p1.drawOrign()

//使用結(jié)構(gòu)體名調(diào)用方法

Orgin.showPoint()

//創(chuàng)建一個Size的結(jié)構(gòu)體

struct Size {

var width:Float

var height:Float

}

let aSize = Size(width: 100.0, height: 20.0)

print(aSize)

struct Frame {

//? ? 結(jié)構(gòu)體的屬性依然可以是結(jié)構(gòu)體

var orign:Orgin

var size:Size

//計算屬性不適用給自己賦值甥绿,而是間接的給其他屬性賦值,自己的值只能通過計算獲得则披,不能直接給自己賦值

var center:Orgin{

set(newCenter){

orign.x = newCenter.x - size.width * 0.5

orign.y = newCenter.y - size.height * 0.5

}

get{

let x = orign.x + size.width * 0.5

let y = orign.y + size.height * 0.5

return Orgin(x: x, y: y)

}

}

}

var aFrame = Frame(orign: Orgin(x: 10, y: 20), size: Size(width: 100, height: 50))

//取計算屬性的值

print(aFrame.center)

//給計算屬性賦值共缕,不是給他自己賦值,是間接的為其他屬性賦值

aFrame.center = Orgin(x: 50, y: 50)

print(aFrame.orign)//orign:(0.0,25)

//類:具有相同特征和行為的事物的抽象

//根據(jù)類創(chuàng)建的實例就是:對象

//類的創(chuàng)建格式

/*

class 類名: 父類 {

屬性

行為

}

*/

//人類:Person 屬性:姓名 年齡 性別 行為:吃飯 睡覺

//NSObject 也是Swift中所有類的根類(基類)

class Person: NSObject {

//屬性

//1直接給初始值

//Swift不允許非可選類型的屬性不賦初始值

//? ? var name:String = "小肥"

//2

//var name: String

//在初始化方法中士复,給屬性賦值

//? ? init(name:String) {

//? ? ? ? self.name = name

//? ? }

//3定義成可選類型

//? ? var name:String?

//4 定義成隱式解析類型

public var name:String!

var age:Int!

fileprivate var gender:String!//文件屬性:只能在本文件中使用

//類屬性

static var color:String!

//提供一個快速創(chuàng)建對象的初始化方法

init(name:String,age:Int,gender:String) {

self.name = name

self.age = age

self.gender = gender

}

//行為(方法)

func eat() {

print("吃")

}

func sleep() {

print("睡")

}

//類方法

static func daDouDou(){

print("打豆豆")

}

}

//創(chuàng)建一個對象

let p = Person(name: "男哥", age: 16, gender: "女")

print(p.name,p.age,p.gender)

Person.color = "red"

print(Person.color)

//調(diào)用類方法

Person.daDouDou()

class Student: Person {

var number:Int!

func study() {

print("好好學(xué)習(xí)图谷,過四級")

}

//重寫從父類繼承過來的方法

override func eat() {

super.eat()//保留父類方法的實現(xiàn)

print("吃滿漢全席")

}

}

let stu = Student(name: "哲磊", age: 8, gender: "妖")

stu.number = 11

stu.study()

print(stu.name,stu.age,stu.gender)

stu.eat()

stu.sleep()

//協(xié)議 代理設(shè)計模式

//OC下的協(xié)議

@objc protocol GirlDelegate {//協(xié)議名

//協(xié)議中只寫函數(shù)聲明

//必須實現(xiàn)的方法

func makeMoney()

//選擇實現(xiàn)的方法

@objc optional func wish()

@objc optional func cook()

@objc optional func doHousework()

}

class Girl: NSObject {

//設(shè)置代理屬性

var delegate:GirlDelegate!

//女孩想買東西

func buySomething() {

//男朋友掙錢

self.delegate.makeMoney()

}

//女孩餓了

func hungry() {

//男朋友做飯

self.delegate.cook!()

}

//女孩有臟衣服

func youZangYiFu() {

//男朋友洗衣服

self.delegate.wish!()

}

//女孩家里臟了

func clearHome() {

//男孩做家務(wù)

self.delegate.doHousework!()

}

}

class Boy: NSObject,GirlDelegate {

internal func makeMoney() {

print("一天1000塊")

}

func cook() {

print("法式甜品")

}

func wish() {

print("手洗")

}

func doHousework() {

print("找保潔")

}

}

let nanGe = Girl()

let LiYiFeng = Boy()

//給代理屬性賦值

nanGe.delegate = LiYiFeng

//男哥發(fā)號指令

nanGe.buySomething()

nanGe.hungry()

nanGe.youZangYiFu()

nanGe.clearHome()

//代理設(shè)計模式的步驟

//1.設(shè)計協(xié)議

//2.設(shè)置代理屬性

//3.遵循協(xié)議

//4.實現(xiàn)協(xié)議中的方法

//5.在外界制定代理屬性(給代理屬性賦值)

//6.告訴代理對象什么時候干活

//Swift中協(xié)議格式,協(xié)議中的方法都是必需實現(xiàn)的

protocol HostessDelegate {

func doHomework()

func cook()

func takeCarOf()

}

class Hostess: NSObject {

var delegate:HostessDelegate!

func clearHome() {

self.delegate.doHomework()

}

func hungry() {

self.delegate.cook()

}

func working() {

self.delegate.takeCarOf()

}

}

//給NSObject擴充方法

extension NSObject{

func sayHello() {

print("Hello")

}

}

class Nanny: NSObject {

}

let n = Nanny()

n.sayHello()

//延展:用來擴充一個類,主要用來管理類的方法或者是遵循某個協(xié)議的方法

extension Nanny : HostessDelegate{

func doHomework() {

print("做家務(wù)")

}

func cook() {

print("做飯")

}

func takeCarOf(){

print("照顧小孩")

}

}

let cuiHua = Hostess()

let chenYang = Nanny()//保姆對象

//5.給代理屬性賦值

cuiHua.delegate = chenYang

cuiHua.clearHome()

cuiHua.hungry()

cuiHua.working()

//閉包:閉包的本質(zhì)就是匿名函數(shù)(沒有名字的函數(shù)),就是能完成特定功能的代碼塊//求和函數(shù)func sum(num1:Int,num2:Int) -> Int {? ? return num1 + num2}/* (Int,Int)->(Int)*///定義閉包,let biBao:((Int,Int)->(Int))biBao = {//函數(shù)聲明? ? (num1:Int,num2:Int)->(Int) inreturn num1 + num2}//調(diào)用閉包print(biBao(1,2))//無參數(shù)無返回值的閉包func sayHello() -> Void {? ? print("Hello")}//()->(Void)let b1:(()->(Void)) = {? ? ()->(Void) in? ? print("無參數(shù)無返回值函數(shù)")? ? return print("提前結(jié)束函數(shù)")// 提前結(jié)束一個函數(shù)(OC中一樣)? ? print("110")}b1()//無參數(shù)有返回值的閉包類型//() -> (Int)let b2:(()->(Int)) = {? ? () -> (Int) in? ? return 10}print(b2())//有參數(shù)有返回值var b3:((Int,Int)->Int) = {? ? (n:Int,m:Int)->(Int) in? ? return n + m}print(b3(1,5))b3 = {? ? (a:Int,b:Int)->(Int) in? ? return a - b}print(b3(10,5))//b3求兩個數(shù)積的代碼塊b3 = {? ? (x:Int,y:Int)->(Int) in? ? return x * y}print(b3(3,12))//閉包類型不只能存儲一個代碼塊阱洪,而是能存儲和變量類型一致的所有代碼塊//有參數(shù)無返回值的閉包//比較兩個數(shù)最大值便贵,并把最大值輸出的閉包//func maxOfTwo(num1:Int,num2:Int)->Void {//? ? print(num1>num2 ? num1 : num2)//}//(Int,Int)->Voidlet b4:((Int,Int)->(Void)) = {? ? (num1:Int,num2:Int)->(Void) in? ? print(num1 > num2 ? num1 : num2)}b4(10,12)var arr = ["zhangsan","Lisi","YiFeng","mazi","xiaofan"]//可變的數(shù)組兩種排序都可以使用,不可變只能使用sorted方法arr.sort()arr.sorted()arr.sort { (str1:String, str2:String) -> Bool in? ? //比較大于冗荸,得出結(jié)果是降序? ? //比較小于承璃,得出結(jié)果是升序? ? return str1 > str2}//< > 控制升序降序print(arr)//泛型func printContent(something:A) {

print(something)

}

printContent(something: "123123")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚌本,隨后出現(xiàn)的幾起案子盔粹,更是在濱河造成了極大的恐慌,老刑警劉巖程癌,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舷嗡,死亡現(xiàn)場離奇詭異,居然都是意外死亡席楚,警方通過查閱死者的電腦和手機咬崔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烦秩,“玉大人,你說我怎么就攤上這事郎仆≈混簦” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵扰肌,是天一觀的道長抛寝。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么盗舰? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任晶府,我火速辦了婚禮,結(jié)果婚禮上钻趋,老公的妹妹穿的比我還像新娘川陆。我一直安慰自己,他們只是感情好蛮位,可當(dāng)我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布较沪。 她就那樣靜靜地躺著,像睡著了一般失仁。 火紅的嫁衣襯著肌膚如雪尸曼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天萄焦,我揣著相機與錄音控轿,去河邊找鬼。 笑死拂封,一個胖子當(dāng)著我的面吹牛解幽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播烘苹,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼躲株,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了镣衡?” 一聲冷哼從身側(cè)響起霜定,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎廊鸥,沒想到半個月后望浩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡惰说,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年磨德,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吆视。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡典挑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出啦吧,到底是詐尸還是另有隱情您觉,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布授滓,位于F島的核電站琳水,受9級特大地震影響肆糕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜在孝,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一诚啃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧私沮,春花似錦始赎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涨享,卻和暖如春筋搏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背厕隧。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工奔脐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吁讨。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓髓迎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親建丧。 傳聞我的和親對象是個殘疾皇子排龄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容