swift基本示例

 

 

 新建一个CommandLine Tool

1、输出helloworld

/* 我的第一个 Swift 程序 */
var myString = "Hello, World!"
 
print(myString)

 

 

 

 

 

 2、数值类型

var a=1
var b=2
print(a+2)

///3

3、字符串类型

var a="1"
var b="2"
print(a+ b)

//错误

必须写成

print(a+b)

或者

print(a + b)

3、空类型nil

var b:String? = nil

显示数据

var b:String?=nil;
print(b!);

(lldb) 

4、可选绑定

使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。可选绑定可以用在if和while语句中来对可选类型的值进行判断并把值赋给一个常量或者变量。

像下面这样在if语句中写一个可选绑定:

if let constantName = someOptional {
    statements
}

5、let使用

var a="1";
a="2";
print(a);

使用var可以修改值

如果换成let是常量不可以修改

let a="1";
a="2";
print(a);

//错误

另外常量必须事先定义

6、字面量

字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。

7、运算符

和C语言的基本类似

8、区间运算符

print("闭区间运算符:")
for index in 1...5 {
    print("\(index) * 5 = \(index * 5)")
}

print("半开区间运算符:")
for index in 1..<5 {
    print("\(index) * 5 = \(index * 5)")
}

7、循环

for(int a = 0;a < 3;a++)
print(a);

Swift3 中已不再支持以上for循环,使用以下方式

for a in 1...3 {
print(a);
}

输出

1
2
3

8、fallthrough 在swift中不加break也不会执行下一个case语句,需要加fallthrough才执行

var index = 10

switch index {
   case 100  :
      print( "index 的值为 100")
   case 10,15  :
      print( "index 的值为 10 或 15")
   case 5  :
      print( "index 的值为 5")
   default :
      print( "默认 case")
}

将会执行case 10,15 5两个分支

9、Swift中的字符类型不能使用单引号,比如

var a='1'
print(a)

是错误的

let a: Character = "A"

这样才行

10、数组

var a:[Int] = [10, 20, 30]
var a = [Int](repeating: 0, count: 3)

11、字典类型

var a=  [Int: String]()

12、函数写法

func test(obj: String) -> String {
    return (obj)
}

如果没有inout内部不能从新赋值

// 定义一个交换两个变量的函数
func swapTwoInts(_ a:inout Int, _ b: inout Int) {
    let temporaryA = a
    a = b
    b = temporaryA
}

var numb1 = 100
var numb2 = 200

print("交换前数据: \(numb1) 和 \(numb2)")
swapTwoInts(&numb1, &numb2)
print("交换后数据: \(numb1) 和 \(numb2)")

如果不加_,需要在调用前指定参数名,如

import Foundation
// 定义一个交换两个变量的函数
func swapTwoInts(_ a:inout Int, b: inout Int) {
    let temporaryA = a
    a = b
    b = temporaryA
}

var numb1 = 100
var numb2 = 200

print("交换前数据: \(numb1) 和 \(numb2)")
swapTwoInts(&numb1, b:&numb2)
print("交换后数据: \(numb1) 和 \(numb2)")

13、扩展方法

extension Int {
   var add: Int {return self + 100 }
   var sub: Int { return self - 10 }
   var mul: Int { return self * 10 }
   var div: Int { return self / 5 }
}

14、下划线作用,增强可读性,忽略值等作用

let oneMillion = 1_000_000

let http404Error = (404, "Not Found")   
let (_, errorMessage) = http404Error 


let base = 3   
let power = 10   
var answer = 1   
for _ in 1...power {   
    answer *= base   
}  

参考:

https://www.runoob.com/swift/swift-functions.html

https://www.jianshu.com/p/fcdfc8306a94

posted @ 2020-02-29 22:59  zhaogaojian  阅读(423)  评论(0编辑  收藏  举报