import Foundation
//变量声明使用

//使用 let 来声明常量,使用 var 来声明变量 常量只能为它赋值一次
let name="cuiyw";
var age:Int=20;
//声明时类型是可选的,声明的同时 赋值的话,编译器会自动推断类型
var money:Double=200.0;
//有一种更简单的把值转换成字符串的方法:把值写到括号中,并且在括号之前写一个反斜杠
let infto=name+String(age)+"\(money)";
println(infto);

//函数
//func  函数名( 参数变量:类型 ,参数变量:类型...){}
//说明:
//1: func 是函数关键字
//2:{} 函数体
//3: 参数变量是默认常量类型,不能在函数函数体里面直接修改
//即 func A (value:String)  与 func A (let value:String)写法是相同的,即value 是常量。参数不能修改

//a.无参数无返回值
func functest()
{
    println("functest");
}

//b.有参数无返回值  可以设置默认值
func functest(name:String,age:Int=23)
{
    println(name+"\(age)")
}
functest("cyw");

//c该方法与b方法一起调用时 都调用b方法
//func functest(var name:String)->String
//{
//    name="a1变量参数cyw";
//    println(name);
//    return name;
//}
//functest("cyw");

//func 函数名( var  参数变量 : 类型,... ) {}
//说明
//1: func 函数关键字
//2: var 参数变量 :类型   表示参数变量是可变变量,不是常量,可以任意修改

//d该方法与b方法比较 时各自输出
//方法也可以添加一个外部参数名
func functest( var personName name:String)
{
    name="a变量参数cyw";
    println(name);
    //        return name;
}
functest("cyw");

//e.有参数有多个返回值
func functest()->(String,Int)
{
    return("cuiyw",23);

}
// f 输入输出函数 inout声明就不能用 var let 声明 同时参数也不能是let声明的
func hello( inout sayhello say:String )
{
    say="hello";
}
var hello="say hello";
hello(sayhello: &hello);
println(hello)

//g 内部函数
func func1()
{
    func func2()
    {
        println("fuc2");
    }
    func2();

}
func1();

//h 返回函数类型的函数
func add(num:Int)->Int
{
    return num+1;
}

func sub(num:Int)->Int
{
    return num-1;
}

func func3(num:Bool)->(Int)->Int
{
    return num ? add:sub;
}
var num=9;
var fun:(Int)->Int=func3(num>10);
num=fun(num);
println(num);

//支持可变参数长度的函数
func sumOf(numbers: Int...) -> Int {
    var sum = 0
    for number in numbers {
        sum += number
    }
    return sum
}
println(sumOf(22,22))
println(sumOf(42, 597, 12))
 

Swift基础语法之变量函数的更多相关文章

  1. swift基础语法之——变量和常量

    swift使用let关键字来定义常量,使用var来定义变量,变量在使用前必须初始化(赋初始值) swift是类型安全语音,即不同类型的变量不能一起运算,必须转成同一类型才可以 变量的类型在声明时不必给 ...

  2. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

  3. Swift基础语法学习总结

    Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...

  4. javascript基础语法备忘录-变量和数据类型

    //javascript基础语法备忘录-变量和数据类型 // 定义变量使用var关键字 后面跟变量名,不要使用eval 和arguments为变量名 var message = "hi&qu ...

  5. C语言基础语法之指向函数的指针

    指针是C语言的精髓,对于初学者来讲,指针是C语言语法学习中比较难的知识点,而这里面指向函数的指针更是不太容易理解. 下面给大家讲下怎样学习理解C语言中指向函数的指针及编程方法和使用例子. 注意:这是一 ...

  6. python基础语法(变量与数据类型)

    python基础语法(变量与数据类型) 一.python变量 python中的变量不需要声明.每个变量在使用钱都需要赋值,变量赋值以后,该变量才会被创建 在python中,变量就是变量,它没有类型,我 ...

  7. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  8. 前端学习笔记--js概述与基础语法、变量、数据类型、运算符与表达式

    本篇记录js的概述与基础语法.变量.数据类型.运算符与表达式 1.概述与基础语法 2.变量 举例: 3.数据类型 4.运算符与表达式

  9. Java基础语法(2)-变量

    title: Java基础语法(2)-变量 blog: CSDN data: Java学习路线及视频 1.什么是变量? 变量的概念 内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量 ...

随机推荐

  1. 别具光芒Div CSS 读书笔记(一)

    继承 边框(border).边界(margin).填充(padding).背景(background) 是不能继承的.   table 中td不会继承body的属性,因此需要单独指定.   权重   ...

  2. Javascript设计模式理论与实战:观察者模式

    观察者模式主要应用于对象之间一对多的依赖关系,当一个对象发生改变时,多个对该对象有依赖的其他对象也会跟着做出相应改变,这就非常适合用观察者模式来实现.使用观察者模式可以根据需要增加或删除对象,解决一对 ...

  3. Alwayson--问题总结一

    1. Alwayson 是否依赖于域环境? 答: 是, alwayson依赖于故障转移群集(只有在故障转移群集中的SQL Server 才能启动高可行性组功能),而故障转移群集愈依赖于域环境. 2. ...

  4. C#中的split的基本用法

    split的使用: 1.使用char()字符分隔:根据单个的char()类型的进行分隔 代码如下: string str="e2kdk2fjod2fiksf21"; ');//因为 ...

  5. winform程序更新

    更新程序和主程序是分开的,得在做一个exe可执行更新程序. 主程序在登陆时判断是否需要更新. 我这边判断方式是直接在配置文件里面设置版本号,然后和服务器上面的版本对比,低于服务器版本就更新程序. // ...

  6. VUE.js 中取得后台原生HTML字符串 原样显示问题

    今天使用vue调试页面,发现了页面上的一个问题,后台数据传过来的HTML字符串并没有被转换为正常的HTML代码,一拍脑门,发现忘记转换了,于是满心欢喜加上了{{{}}}.但是之后构建发现报错: 为此去 ...

  7. .Net Core + DDD基础分层 + 项目基本框架 + 个人总结

    为什么要写这篇文章 1,在大半年前,公司开发任务比较轻松,自己不知道干什么,但是又想要学习技术,比较迷茫,后面我接触到了博客园,看了一个帖子,深有感触,我当时不知道学习什么,于是我信息给他,他居然回复 ...

  8. 关于margin:-10000px;padding:10000px;的理解

    原文链接: 内外补丁负值法是指通过内外补丁的设置来解决一些我们通常方法不能实现的效果.例如:可以通过改变盒模型的样式来使几列div由内容撑开高度但几列div与最高的一栏等高的问题.但是为什么会出现这样 ...

  9. pageadmin CMS网站制作教程:模板概念解释

    pageadmin CMS网站建设教程:模板概念解释 1.模板页 又叫视图页面,PageAdmin后台栏目或信息中用到的模板页面的统称,格式必须是.cshtml后缀文件,前端人员制作的页面默认都是ht ...

  10. Divide and Conquer-169. Majority Element

    Given an array of size n, find the majority element. The majority element is the element that appear ...