swift篇第一期:简单的数据结构
admin
2023-02-10 10:00:08
0


首先我们可以去使用Playground来编码,并且会实时的显示对应的编码信息,这样我们就不用每次都去运行程序来显示输出的东西了哦,也方便了我们对某些语句的验证,这个是比较赞的


var与let

前者为可变修饰符,后者为不可变

从字面意思我们就可以很好的区分了

 
let name = "KuTian"
var anotherName = "XiaoHua"
anotherName = "KuTianXiaoHua"


常用的类型呢,跟其他语言基本相同啦,主要有几种:

    1.int类型   2.Float,Double类型    3.String类型     4.Boolean类型

当我们去声明一个变量的时候,可以选择初始化它的类型哦

但是在这里,我们的Bool类型只有true和false哦,至于0和1,我们还是要区分的哦

 
var maxValue = UInt8.max
var minValue = UInt8.min

var doubleValue = 3.14
var anotherValue = doubleValue + Double(minValue)

var stringValue: String = "swh"

var isDouble: Bool = true
if isDouble {
    println("true")
}


接下来就是简单介绍一下字符串的一些语法

这里有意思的就是字符串可以去加上另一个字符串得到一个新的字符串

也就是用“+”来拼接字符串,所以“+=”也是好用的呢

然后就是它的一些属性吧

比如:判断是否为空,遍历字符串中的字符,统计字符串中的字符数量,判断字符串是否相等,判断是否以**为前后缀  等等咯

 
var name = "sun wanhua"
var hello = "Hello "
var greet = hello + name
println("Hello \(name) !")
//我们在输出的时候,只有变量的话就直接写,如果在""里面就要加上\(变量名)

var string = "My name is "
string += name
println(string)

var emptyString: String = ""

//直接调用字符串的方法,用"."语法来调用
if emptyString.isEmpty {
    println(true)
} else {
    println(false)
}

for char in "sunWanhua" {
    println(char)
}

var stringCount = "KuTian"

//用count(变量名)来获取当前变量的长度
var strCount = "\(count(stringCount))"
println(strCount)

var str1 = "sun Wanhua"
var str2 = "Sun Wanhua"

//这里我们就不需要用isEqualTo:等语法了哦,直接"=="
if str1 == str2 {
    println("相等字符串")
} else {
    println("不相等字符串")
}

var preFixString = "lo"
var productString = "long long"
var nextString = "lang lang"

if productString.hasPrefix(preFixString) {
    println(true)
} else {
    println(false)
}

if nextString.hasSuffix("ng") {
    println(true)
} else {
    println(false)
}


接下来就是数组了哦,也是蛮简单的

 
var stoneHero:[String] = ["血法师", "萨满", "战士", "德鲁伊", "圣骑士", "牧师", "术士", "盗贼", "猎人"]

//直接修改数组内元素的值
stoneHero[0] = "法师"

for hero in stoneHero {
    println(hero)
}

//这里涉及到新的数据结构:元祖(index , value),我们想象一下(404 , "error")
//这里要是用元祖遍历,需要把对应关系搞好,那么数组也需要类似元祖的形式enumerate()
for (index , value) in enumerate(stoneHero) {
    println("\(value)所在位置为:\(index + 1)")
}

println(stoneHero.count)

if stoneHero.isEmpty {
    println(true)
} else {
    println(false)
}

stoneHero.append("旅店老板")
stoneHero += ["旅店老板娘"]

//[4...6]应该就是闭区间的意思吧,就是4,5,6
//而还有种写法就是半开区间[4..<6],就是4,5
stoneHero[4...6] = ["why", "do"]
stoneHero.insert("you", atIndex: 6)
stoneHero.removeAtIndex(4)
stoneHero.removeLast()

//下面的意思就是创建一个数组,且类型、值相同的几个元素
var threeDoubles = [Double](count: 3, repeatedValue: 1.0)
var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5)

//相同类型的数组还可以进行互相加减哦
var sixDoubles = threeDoubles + anotherThreeDoubles
for value in sixDoubles {
    println(value)
}


然后呢,就是字典啦,快来看看吧

 
var country = ["cn": "中国", "us": "美国", "jp": "日本"]
var anotherCountry: Dictionary  = ["cn": "中国", "us": "美国", "jp": "日本"]
var emptyDictionary = [:]

//所以说,有了元祖以后,就很好的可以控制字典啦,哈哈,看样子元祖跟字典是配套玩的咯
for (shortName, longName) in country {
    var result = shortName + ":" + longName
}

for shorName in country.keys {
    var result = shorName
}

for longName in country.values {
    var result = longName
}

var shortNameArray = Array(country.keys)
var longNameArray = Array(country.values)

country["cn"]
country["jp"]
country.count
country.updateValue("瓷器", forKey: "cn")
country["cn"] = "xiaowang"
country.removeValueForKey("cn")
country["jp"] = nil


其实数据类型还好啦,跟O-C里面基本大同小异了,可能写法更简单化了哦,应该也不用考虑内存的使用了吧,这也让更多的人好入手了啊,看样子比较不错


好啦,就先写这么多吧,回头学习的时候抽时间再来写哦



相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...