Swift学习

swift-基础-基本语法2

2016-08-15  本文已影响12人  埃林的奶酪

字符串

var str = "lhj"
for c in str.characters
{
    print(c)
}
let name = "lhj"
let age = 29
// 目标:输出name = lhj,age = 29
//OC中:NSLog(@"name = %@,age = %d",name,age)
print("name = \(name),age = \(age)")
print("name = " + name + ",age = " + age)
let value = 10.987654321
let str = String(format:"%.2f",arguments:[value])
print(str)
let str2 = String(format:"%02d-%02d-%02d",arguments:[16,2,12])
print(str2)
let str = "xiaomage"
let str1 = str as NSString
//或者let str1:NSString = str
let str2 = str1.substringWithRange(NSMakeRange(0,4))
//或者和并起来
let str3 = (str as NSString).substringWithRange(NSMakeRange(0,4))
//其它使用场景
let str4 = "user/desktop/abc.txt"
print((str4 as NSString).pathExtension)
urlStr = urlStr.stringByReplacingOccurrencesOfString("thumbnail", withString: "bmiddle")
let flag = url?.absoluteString.lowercaseString.hasSuffix("gif")

函数

func say() -> Void
{
    print("hello")
}
say()
// 如果没有返回值,Void可以用()代替 :func say() -> ()
// 如果没有返回值,返回值类型也可以省略:func say()
fun getMax() -> Int
{
    return 99
}
print(getMax())
func sum(a: Int, b: Int)
{
    print("sum = \(a + b)")
}
sum(10, b: 20) // 从Swift2.0开始,会自动将第二个参数开始的参数名称作为方法标签(比如这里的b)
func square(width a: Int,height b: Int)
{
    print("square = \(a * b)")
}
square(width: 10, height: 20)
func square(width a: Int,height b: Int = 10)
{
    print("square = \(a * b)")
}
square(width: 10)
func square1(width a:Int = 10, height b:Int = 20) -> Int

{

    return a * b

}

square1()

返回多个值:用元祖

    func calculateImageSize() -> (CGSize,CGSize) {

        

    }
// 调用

let (size1, size2) = calculateImageSize()

泛型

func 函数名称<T>(形参列表) -> 返回值类型
{}
func KSLog<T>(message: T, fileName: String = #file, methodName: String = #function, lineNumber: Int = #line) {

    let haha = (fileName as NSString).pathComponents.last!.componentsSeparatedByString(".").first!

    

    print("\(haha) - \(methodName)[\(lineNumber)]:\(message)")

}
// 调用者可以使用任意类型的"message"
KSLog("卧槽")

KSLog([Int]())

修饰符

上一篇 下一篇

猜你喜欢

热点阅读