加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift学习(二)

发布时间:2020-12-14 01:46:30 所属栏目:百科 来源:网络整理
导读:import Foundation func sayhello(name: String ) - String { let greeting = "hello" + name + "!" return greeting } println ( sayhello ( "anna" )) func minusresult(start: Int ,end : Int ) - Int { return end - start } println ( minusresult ( 1

import Foundation


func sayhello(name:String) ->String {

let greeting = "hello" + name + "!"

return greeting

}

println(sayhello("anna"))



func minusresult(start: Int,end :Int) ->Int {

return end - start

}

println(minusresult(1,10))


//无返回值

func saygoodbye(name: String) {

println("goodbye,(name)")

}

println(saygoodbye("dave"))


//函数调用!!!!!!!!

func count(string: String) -> (vs:Int,cs:Int,os:Int){

var vowels = 0,consonants = 0,others = 0

for character in string {

switch String(character).lowercaseString {

case "a","e","i","o","u":

++vowels

case "b","c","d","f","g":

++consonants

default:

++others

}

}

return (vowels,consonants,others)

}

let total = count("some arbitry")

println("(total.vs) vowels and (total.cs) consonants")


/*

func join(s1: String,s2: String,joiner:String) ->String {

return s1 + joiner + s2

}

println(join("hello","world",","))

*/


//每一个都有两个名字 比如 strings1

func join(string s1:String,tostring s2:String,withjoiner joiner:String) ->String {

return s1 + joiner + s2

}

println(join(string : "hello",tostring : "hi",withjoiner : ","))


//简写


//#作为局部外部参数名

func containcharacter(#string : String,#charactertofind:Character) ->Bool {

for character in string {

if character == charactertofind {

return true

}

}

return false

}

let containasvee = containcharacter(string: "asdada",charactertofind:"a" )

println(containasvee)



func join(string s1:String,string s2:String,withjoiner joiner:String = ",")->String {

return s1 + joiner + s2

}

let str1 = join(string:"hefe",tostring: "dawwq",withjoiner: "-")

println(str1)


//joiner有默认值 所以下面要写上

func join(s1:String,s2:String,joiner: String = " ")->String {

return s1 + joiner + s2

}

let str3 = join("hello","world",joiner:"-")

println(str3)


//可变参数

func mean(numbers:Double...)->Double {

var total:Double = 0

for number in numbers {

total += number

}

return total / Double(numbers.count)

}

println(mean(1.1,2.2,3.1,4.5))


func mean2(lala: Double...) ->Double {

var total1: Double = 0

for lala2 in lala {

total1 += lala2

}

return total1 / Double(lala.count)

}

println(mean2(2.3,5.4))


/*

func alignright(var string:String,count: Int,pad:Character) ->String {

let amounttopad = count - count(string)

for

*/


let label = "The width is"

let width = 94

let widthLabel = label + String(width)

println(widthLabel)


//输入输出函数

func swaptwoints(inout a :Int,inout b:Int){

let temp = a

a = b

b = temp

}


var someint = 3

var anotherint = 7

//作为输入输出参数时

swaptwoints(&someint,&anotherint)

println("someint is now (someint),and anotherint is now (anotherint)")


/*

let interestingnumbers = [

"prime":[2,3,5,7,11,13],

"fibonacci":[1,1,2,8],

"square":[1,4,9,16,25],

]

var largest = 0

for (kind,numbers) in interestingnumbers {

for number in numbers {

if number > largest {

largest = number

}

}

}

println(largest)


var n = 2

while n < 100 {

n = n * 2

}

print(n)


var m = 2

do {

m = m * 2

}while m < 100

print(m)


var firstforloop = 0

for i in 0..<4 {

firstforloop += i

}

println(firstforloop)

//使用..<创建的范围不包含上界,如果想包含的话需要使用...



func calculateStatistics(scores: [Int]) -> (min: Int,max: Int,sum: Int) {

var min = scores[0]

var max = scores[0]

var sum = 0

for score in scores {

if score > max {

max = score

} else if score < min {

min = score

}

sum += score

}

return (min,max,sum)

}

let statistics = calculateStatistics([5,100,9])

print(statistics.sum)

print(statistics.2)



func returnFifteen() -> Int {

var y = 10

func add() {

y += 5

}

add()

return y

}

returnFifteen()


func makeIncrementer() -> (Int -> Int) {

func addOne(number: Int) -> Int {

return 1 + number

}

return addOne

}

var increment = makeIncrementer()

increment(7)

*/


//函数类型:1,定义函数,2,定义函数类型变量或常量3,给函数类型赋值

func addtowints(a : Int,b: Int) -> Int {

return a + b

}


var mathfunction:(Int,Int) ->Int //函数类型

mathfunction = addtowints // 赋值


println("result:(mathfunction(2,3))")


func sum(a: Int,b :Int ) -> Int {

return a - b

}

var mathfunction2:(Int,Int) ->Int = sum

println(mathfunction2(2,5))


func printmathresult(mathfun:(Int,Int)-> Int,a :Int,b : Int){

println("result:(mathfun(a,b))")

}

printmathresult(addtowints,1,2)


func stepForward(input: Int) ->Int {

return input + 1

}

func stepbackward(input:Int) ->Int {

return input - 1

}

func choosestepfunction(backwards: Bool) -> (Int) -> Int {

return backwards ? stepbackward : stepForward

}

var currentvalue = 3

let movenearertozero = choosestepfunction(currentvalue > 0)

println("movenearertozero:(movenearertozero)")


let base = 3

let power = 10

var answer = 1

for _ in 1...power {

answer *= base

}

println(answer)


let names = ["1","2","3"]

for name in names {

println(name)

}


let numberoflegs = ["spider":8,"ant":10,"cat":4]

for (animalname,legs) in numberoflegs{

println("(animalname) has (legs)")

}


for character in "hello" {

println(character)

}


for var index=0;index<3 ;++index {

println(index)

}


var va = 1

while va < 5 {

println("while index is (va)")

va++

}


var vb = 1

do {

println("is (vb)")

vb++

}while vb < 5

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读