Swift基础语法

2017-08-30  本文已影响0人  id_confidence

let 和 var

let 标识常量
var 表示变量

let a = 10;
vat b = 10;
b = 11;  //b可以做修改,而a不可以
let a = 20;
let b = 20.5;

//错误写法
print(a+b); 

//正确写法
print(a+int(b)) ;   //输出 40
或者 print(double(a)+b)   //输出 40.5

//由此看出,不同类型之间无法直接做运算

可选值 Optional

可选值,顾名思义就是要么有值,要么为空(nil).可选值在参与计算时需要解包。

//1.原始定义方式  常量在定义时,必须有初始值
let x: Optional = 10

//2.简单定义   定义一个可选的  int类型
let y:int? = 20
let x: Optional = 10
let y:int? = 20
//错误写法
 print(x+y)  

//正确写法
 print(x!+y!)    //对于可选值计算,需要解包

注意:常量和变量的可选值不同,var 的可选值默认类型为nil,let默认没有可选值。


if 语法

let x = 10
if x>5 {
  print(x)
}

//三目运算
x > 6 ? print("大于") : print("小了")
x > 6 ? print("大于") : () //“()”表示空执行

?? 问号操作符号

//if 判空
 let x:int? = nil 
if x != nil {
  print(x!)   //此时需要解包
}

//?? 判空
 let y:int? = nil 
print(y ?? 0)  //此时输出不会报错

if let /var 连用语法

let  myName:String? = "小陈"
let myAge:int? = 20
if var name = myName,
   let age = myAge {
   name = "小王"  //var 可以修改值,let 不可以
print(name+String(age))  //输出结果是 “小王20”
}


guard let

let  myName:String? = "小陈"
let myAge:int? = 20
guard  let  name = myName,
            age = myAge else {
            print("name or  age is nil") 
            return
}
//此时使用不必担心为空
 print(name+String(age))  //输出结果是 “小王20”

for 循环语句

在swift中,把之前OC里面的 for(int i=0;i<10;i++)这种写法抛弃,i++/++i也被取消,替代的写法是i += 1,从语法来看,swift对语法要求异常严格,下面我们看看swift中的写法。

格式:for i in 0..<10{ }或者for i in 0...10{ },其中0..<10是一个整体,表示一个半闭半开区间[0,10),0...10表示闭区间[0,10]

//循环打印 10--0,反序遍历  reversed:颠倒、逆转的意思
for i in (0...10).reversed(){
  print(i)
}
//打印的结果就是 10,9,...2,1,0

字符串 Sting 在swift中是一个结构体,可以遍历

let str = "hello world"
//str.characters  字符串的字符数
for c in str.characters{
  print(i)
}

let a = str.lengthOfBytes(using: .utf8)   //a = 11 ,求字符串的字节数
let b = str.characters.count  //b = 11 ,求字符个数,即字符串长度

String

swift中 使用as做类型转换

  let str = '我是中国人'
  let ocStr = str as NSSting
  //此时我们将swift类型的字符串转化成了OC的,然后可以使用OC的方法

字符串拼接 \(变量或者常量)

let a = 10
let b = "song"
let c:int? = 11
let d = "\(a)\(b)\(c ?? : 0)"   //拼接a、b、c  ,可选值要做处理
上一篇下一篇

猜你喜欢

热点阅读