class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
demo1()
demo2()
demo3()
lengthOfString(str1:"1234", str2: "5678")
// let str = demo4()
print(demo4())
demo5(str1: "123", str2: "888")
// 闭包
// (1)无参无返回值
closure()
// (2)有参无返回值
closure1("hello")
// (3)无参有返回值
closure2()
print(closure2())
// (4)有参有返回值
closyre3("123", "455")
print(closyre3("123", "455"))
let newStrCount = newStringLength("world") { (a) -> String in
let b = "hellow\(a)"
return b
}
print("newStrCount = \(newStrCount)")
}
// !!! swift 里面允许函数嵌套 ,并且外部不可见!!!!
// 调用的时候尽量不采用self
// 类名调用的函数前面加上class,这里的都是对象方法
// 如果一个类只要求在本类中调用,不希望外部可见,就加上private,UI空间的响应事件不要加上private
// 无参无返回值
// 格式: func 函数名(){}
func demo1(){
print("无参无返回值")
func demo11(){
print("---------")
}
// 调用
demo11()
}
func demo2()->(){
print("无参无返回值02")
}
func demo3()->Void{
print("无参无返回值03")
}
//有参无返回值
// 格式:func 函数名 (外部访问参数 参数:参数类型){},外部访问参数也可以不写
func lengthOfString(str1 str1:String, str2:String){
print("\(str1)和\(str2)的长度是\(str1.characters.count + str2.characters.count)")
}
// 无参有返回值
func demo4()->String {
let str = "123"
return str
}
// 有参有返回值
// 格式:func 函数名(参数列表)->返回值类型
func demo5(str1 str1:String, str2:String)->String {
// 形参在内部不能给改变
let str = "\(str1)\(str2)"
return str
}
// 闭包
// 闭包相当于C里面的block,封装了一段有特定功能的代码块
// 闭包的格式:
/*
{
(输入参数列表。。。)->返回值类型
in
闭包里面执行的代码块
}
*/
// 无参数无返回值
let closure = {
()->()
in
print("这是一个无参无返回值得闭包")
}
// 有参数无返回值
let closure1 = {
(str:String)->()
in
print("这是一个输入参数为\(str)的闭包")
}
// 无参有返回
let closure2 = {
()->Int
in
let b = "455"
let a:Int = b.characters.count
return a
}
// 有参有返回值
let closyre3 = {
(str1:String, str2:String)->Int
in
let str = "\(str1)\(str2)"
return str.characters.count
}
// 定义一个函数两个输入参数,其中一个是闭包,闭包的功能是将输入的第一个参数拼接上Hellow,返回一个新的字符串。函数的功能返回新字符串的长度
func newStringLength(str:String,closure4:(a:String)->String)->Int {
let str = closure4(a:str)
return str.characters.count
}
}
Swift 基础学习(一)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 数据基本类型 变量:使用var声明 常量:使用let声明 整型 有符号整形:Int,Int8,Int16,Int3...
- Streaming Anomaly Detection Using Randomized Matrix Sketc...