Swift 的基本数据类型 常量和变量、String 的基本操作
/* Swift 的基本数据类型常量和变量、String 三个 */ // Created by 周双建 on 15/12/16. // Copyright ? 2015年周双建. All rights reserved. // import UIKit import Foundation class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad() /* Swift 中常量的声明使用 let 变量的声明使用 var (次关键词,被用与好多中开发语言。例如:HTML、APS、.net) 常量和变量的区别:常量已但被定义是不可改变的 变量定义后是可改变的 */ //声明一个常量 let MaxCount = 20 print(MaxCount)
//声明一个变量 var MixCount = 0 MixCount = 10//常量是不可以这样写的 print( MixCount)
// 在同一行可以声明多个变量或者常量,变量或者常量之间用 “,”分隔 //变量 var BodyCount :Int =10,GirlCount : Int = 20,MailCount :Int =2 print([BodyCount,GirlCount,MailCount]) /* 打印结果: [10,20,2] */ // 常量 let Body = 20,gril = 10,mail = 0 print([Body,gril,mail]) /* [20,10,0] /****************************************************************/ // 带类型的常量或者变量的声明 // 注意:在声明常量或者变量的时候,一般不带其类型,因为 Swift可以根据你给的值,来确定其类型。但也可以指定其,类型 //常量(int) let Count_ZSJ : Int = 10 // let Count_ZSJ = 10 和上面的是等同的 // 其他类型 let Str : String = " 成功" let Double_ZSJ :Double =5.20 let Float_ZSJ :Float =5.2 let Integer_ZSJ : NSInteger = 3 //注意在声明后,不可更改其类型 let Str_ZSJ = 20 // Str_ZSJ = "失败"这样是不对的。Str_ZSJ= 20这已经定义了 Str_ZSJ的类型了 是 int ,而 Str_ZSJ = "失败"是将一个字符串给Str_ZSJ // 变量的道理和常量是一样的,就不在写了
/****************************************************************/ //常量和变量的命名规则 /* Swift 中可以用任何字符作为常量和变量的名字,包括 Unicode字符 Unicode 字符: ?¢£¤¥|§¨?a?? ?ˉ00B0°±23′μ?·?1o?????00C0àá??????èéê?ìí??00D0D?òó???×?ùú?üYT?00E0àáa?????èéê?ìí??00F0e?òó???÷?ùú?üyt?0100āā??????????????0110??ēē??????ěě????0120??????????īī????0130????????????????0140????ń???ň???ōō??0150????????????????0160??????????ūū????0170????????????????0180????????????????0190????????????????01A0????????????????01B0????????????????01C0?∥???????????ǎǎǐ01D0ǐǒǒǔǔǖǖǘǘǚǚǜǜ???01E0????????????????01F0???????????????? 这是部分,还有很多。 方法: option + XXOO 就可以出现 */
let 成功 = 30 let μ = "成功QQ吧" let ? = 520
/*注意: 1、常量与变量名不能包含数字符号(+ - * /等)、箭头、保留的 Unicode、连接线、制表符 2、不能以数字开头,但其他地方可以使用 3、 Swift中 尽量命名不要和一些关键字一样,如果。一定要用也是可以的,那就需要反引号来包含 */ //错的 //let 5g = 20
// 对的 let g5 = 20
// 使用关键词做名字 let `let` = 520 /* 注释:反引号是 波浪建在英文编辑下,打出的 /*****************************************************************/ //日志的输出 /* 在 OC里面 我们有 printf 、 NSlog Swift 里面是 print、NSlog 注意 :println已经不在使用 */
print(`let`) NSLog("%d",`let`) NSLog( "吧") /* 2015-12-16 09:41:32.541 Swift_013[1745:78097] 520 2015-12-16 09:41:32.541 Swift_013[1745:78097] 成功QQ吧
可见,NSLog打印带有日期,这就便于调试 */
// 字符串的拼接输出 /* 字符的拼接输出,这需要使用 Swift的插值语法。其形式是: 在字符串内部使用 (变量名) */ let b = true let name = "吧" let number = 520 print("注意:(name)的标语是(number)是(b)") /* 打印成功: 注意:成功QQ吧的标语是520是true /***************************************************************/ //下面是字符串的一些炒作 // 声明一个字符串 let XX ="I LOVE YOUR MONEY" // 我们遍历一个字符串 // 获取字符串的长度 let Count = XX.lengthOfBytesUsingEncoding(4) print(Count) /* 这样写是错误的 for ch in XX { print(ch) } 因为 : String 不符合 SequenceType。但是,您可以使用 characters属性 String 。 characters 返回 String.CharacterView,顺应了 SequenceType 是对的 for ch in XX.characters { print(ch) }
/* I
L O V E Y U R M N /**************************************************************/ // 字符串的拼接 let c = "成功" let s = "失败" print(c+s) /* 打印: 成功失败 //字符串与其他类型的进行拼接 let name_S = "吧" let age = "(name_S) 的年龄是6岁" print(age)
let co = 7
print(name_S,co) /* 成功QQ吧的年龄是6岁 成功QQ吧 7 /******************************************************************/ //判断字符串是否为空 var str = "d" print(str.isEmpty ?"没":"有") // 判断字符串是否包含某个字符 var sh = "dH" print(str.containsString(sh)) /* true // 第一种 判断字符串是否相等 print( str == sh ) /* false // 第二种 comper 比较 /* public enum NSComparisonResult : Int { case OrderedAscending 升序 case OrderedSame 相等 case OrderedDescending 降序 */
if str.compare(sh).hashValue ==1 { print("相等") }else if str.compare(sh).hashValue ==0 { print("小于") }else{ print("大于") } print( str.compare(sh).hashValue ) /* 通过 枚举的 hashValue 获取枚举的 值 str 和 sh相比 得出结果是 str 是大还是小 */ /* NSComparisonResult // 第三种 比较 print(str > sh) /*************************************************************/ //判断字符串的头和尾 /* hasPrefix 是 头 hasSuffix 是 尾 */ var My_Str ="http://www.baidu.com.image.png" if My_Str.hasPrefix("http://") { print("是网址") } if My_Str.hasSuffix(".png") { print("是和图片相关的") } /***************************************************************/ //字符串的大小写转换 var str_zsj ="I love Your Qian Very Much " // 转大写 print( str_zsj.uppercaseString ) /* I LOVE YOUR QIAN VERY MUCH 转小写 print(str_zsj.lowercaseString ) /* i love your qian very much //字符串与其他类型的转换 // 整形转字符串,使用插值法 var QB = 23 let HJ = ("(QB)")
// 字符串转其他,可直接转 var HK = "34eeeeffff" let Mn = Int(HK) /* 注意: HK.toint() 该方法已经不再了 //利用 OC的方法转换 let BN :NSString = HK let VB = BN.intValue
let Unicode = HK.unicodeScalars print(Unicode)// 34时将其转化为 UniCode编码 //从哪个位置获取,字符串 let bm : NSString = HK let AB = bm.substringFromIndex(1) print(AB) //从开始,到第三个位子 let Gh = bm.substringToIndex(3) // Do any additional setup after loading the view,typically from a nib. }
override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. }
} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- postgresql – 如何检查热备用服务器是否提供只读
- hdu 1561 The more, The Better (依赖背包 树形
- VB ADODB中的RecordSet.Open打开记录的两个参数a
- Flex ArrayCollection 中的排序、过滤
- c – 如果std :: vector元素’自杀’会发生什么(
- cocos2dx3.3开发FlappyBird总结十四:常量定义
- ios – Xcode 6 Beta – Apple Mach-O Linker错误
- c# – .NET zlib Stream与Actionscript ByteArra
- ajaxFileUpload接收服务器传来的json数据
- React实现组件间互斥点击