欢迎大家评论,问问题,质疑
import Foundation
//函数 1、特定功能 2、代码片段
//1.无参数无返回值
func fun1(){
print(“func1”)
}
//2.有参数无返回值
func fun2(a :Int){
}
//3.无参数有返回值
func fun3()->Int{
return 10;
}
//4.有参数有返回值
func fun4(a : Int)->Int{
return 10
}
//参数是数组的函数
//func fun4(a : [Int])->Int{
// var result = 0
// for index in a{
// result = result + index
// }
// return result
//}
//print(“参数是数组的函数(fun4([1,2,3,4,5]))”)
//5.不定参数(不怎么用)
func fun5(a : Int…)->Int{
var result = 0
for index in a {
result = result + index;
}
return result;
}
//6.多返回值
func fun6(a : Int)->(Int,Int){
return(10,10)
}
//调用
fun1()
//调用不定参数
print(“result = (fun5(1,2,3,4,5,6,7))”)
//嵌套函数
func add(){
func addab( a a : Int , b : Int)->Int{
return a + b
}
print(addab(a : 1, b : 3))
}
add()
//inout 交换的是内存地址,用&得到地址
//函数内部交换外部的值
func exchange ( inout a : Int, inout b : Int){
(a,b) = (b,a)
}
var min = 10
var max = 20
exchange(&min,b:&max)
print(“min = (min),max = (max)”)
//枚举
enum Season {
case Spring
case Summer
case Autumn
case Winter
}
print(Season.Spring)
enum City : Int {
case Beijing = 5,guangzhou,tianjing,riben
case Shanghai,mangu
case Hangzhou
case Neimenggu
}
print(City.Shanghai.rawValue)
enum Gender :String {
case men = “Men”
case women = “Women”
}
//switch…case 与枚举配合使用
let gender = Gender.men
switch gender {
// . 的意思 :case Gender.men :
case.men :
print(“男人”)
case .women :
print(“女人”)
}
struct Dog {
init(){
print(“你是小花”)
}
}
//结构体 是一个值类型
struct Person{
// 存储属性
var age : Int! //这个变量一定会有值
var name :String?//这个变量不一定会有值
// 计算属性
var fatherAge:Int{
set {
self.age = newValue - 20
}
get{
return self.age + 20
}
}
// lazy属性
lazy var dog : Dog = Dog()
// 属性监听
var hobby : String{
willSet {
print("1")
}didSet{
print("0")
}
}
// 对象方法
// func sayHellow(){
// print("sayHellow")
// }
func sayHellow(){
print("Hellow")
}
// static 加号方法
static func eat(){
print("eat")
}
// 初始化方法
init(age : Int ,name:String ,hobby:String){
self.age = age
self.name = name
self.hobby = hobby
}
// 类属性
static var home : String! = "球球"
}
var person = Person(age: 12, name: “bbba”,hobby: “php”)
person.sayHellow()
Person.eat()
print(Person.home)