Swift入门 二

字符串

  • OC 中的字符串是一个对象,Swift中的字符串是一个结构体
  • OC 中的字符串是以结尾, Swift中的字符串不是以结尾
  • Swift中的字符串比OC中的字符串性能好
  • Swift中的字符串支持遍历
let str = "abcdef"
print(str)

 遍历字符串

for c in str.characters
{
    print(c)
}

拼接字符串

var str2 = "gm"
str2 += str
str2

 格式化

let name = "gm"
let age = 30
let res = "name = (name),age = (age)" // 结果: name = gm, age = 30

 日期

// 2015-01-03 14:05:06
let res2 = String(format: "%d-%02d-%02d %02d:%02d:%02d", arguments: [2015, 1, 3, 14, 5, 6])

 字符串截取

let str = "gmm521"
//Swift中的大部分数据类型, 都支持直接转换为OC中的数据类型 . 例如String --> NSString
let res = (str as NSString).substringWithRange(NSMakeRange(0, 3))  // 结果:gmm

函数

格式: func 函数名称(形参名称1: 形参类型, ...) -> 返回值类型

  {

    //逻辑代码

  }

没有参数没有返回值

  • 如果返回值为Void,那么可以简写为() 或者不写
func say() ->Void
{
  print("hello world")
}
say()

func say() ->()
{
  print("hello world")
}
func say()  //推荐 {    print("hello world") }

没有参数有返回值

func getNum() -> Int
{
  return 10
}
print(getNum())

func getTwoNum() -> (Int, Int)
{
  return (1, 10)
}
let (min, max) = getTwoNum()

print(min)
print(max)

有参数没有返回值

func sum(num1: Int, num2: Int)
{
  print(num1 + num2)
}
sum(10, num2: 20) 
  • 内部参数: 默认情况下,所有的形参都是内部参数
  • 外部参数: swift2.0 之后,默认情况下从第二个形参开始,形参既是内部参数又是外部参数
  • 如何指定外部参数 value2  num2: Int
  • 如何忽略外部参数 _ num2: Int

常量形参和变量形参

  • 默认情况下,所有的形参都是常量形参,也就是说不能在函数中修改形参的值
  • 如果想在函数中修改形参的值,那么必须把形参变为变量形参
  • 只需要在变量名称前面加上 var即可
  • 在函数中修改形参的值,是不会影响到外部形参的值
for swap(var num1: Int, var num2: Int)
{
    let temp = num1
    num1 = num2
    num2 = temp
}
let a = 10
let b = 20
print("a = (a), b = (b)") //a = 10 b = 20
swap(a, num2:b)
print("a = (a), b = (b)") //a = 10 b = 20

输入输出参数

  • 如果想在函数中修改形参的值,并且同时修改实参的值,那么就需要将形参变为输入输出形参
  • 只需要在形参名称前面加上inout即可
func swap2(inout num1: Int, inout num2: Int)
{
    let temp = num1
    num1 = num2
    num2 = temp
}
var n = 10
var m = 20
print("n = (n), m = (m)") // n = 10 m = 20
swap2(&n, num2: &m)
print("n = (n), m = (m)") // n = 20 m = 10

可变参数

  • 当一个函数不确定接收多少个参数时,就可以使用可变参数
  • 可变参数必须指定数据类型
  • 在其他语言中可能可变参数只能放到形参列表的最后面,而Swift中可以放到任意位置
func sum(numbers: Int...)
{
  var sum = 0
  for number in numbers
  {
     sum += number
  }
  print(sum) 
}
sum(10,20)

func sum4(numbers: Int..., value: Int)
{
  var sum = value
  for number in numbers
  {
    sum += number
  }
  print(sum)
}
sum(10, 20, value: 30)

默认值

  • 可以给形参指定默认值,如果一个形参指定了默认值,那么调用的时候就可以不传递该参数的值,如果没有传递那么就是用默认值
  • 在其他语言中默认值只能写在形参列表的最后面,但swift中可以写在任意的位置
func joinString( str: String = "gm" ,str1: String = "@" ,str2: String)
{
  let sum = str + str1 + str2
}

有参数有返回值

func sum(num1: Int, num2: Int) -> Int
{
  return num1 + num2
}
print(sum(20, num2: 20))
原文地址:https://www.cnblogs.com/aunty/p/4939657.html