Swift基础语法之变量函数
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基础语法之变量函数的更多相关文章
- swift基础语法之——变量和常量
swift使用let关键字来定义常量,使用var来定义变量,变量在使用前必须初始化(赋初始值) swift是类型安全语音,即不同类型的变量不能一起运算,必须转成同一类型才可以 变量的类型在声明时不必给 ...
- Swift基础语法学习总结(转)
Swift基础语法学习总结 1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...
- Swift基础语法学习总结
Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...
- javascript基础语法备忘录-变量和数据类型
//javascript基础语法备忘录-变量和数据类型 // 定义变量使用var关键字 后面跟变量名,不要使用eval 和arguments为变量名 var message = "hi&qu ...
- C语言基础语法之指向函数的指针
指针是C语言的精髓,对于初学者来讲,指针是C语言语法学习中比较难的知识点,而这里面指向函数的指针更是不太容易理解. 下面给大家讲下怎样学习理解C语言中指向函数的指针及编程方法和使用例子. 注意:这是一 ...
- python基础语法(变量与数据类型)
python基础语法(变量与数据类型) 一.python变量 python中的变量不需要声明.每个变量在使用钱都需要赋值,变量赋值以后,该变量才会被创建 在python中,变量就是变量,它没有类型,我 ...
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...
- 前端学习笔记--js概述与基础语法、变量、数据类型、运算符与表达式
本篇记录js的概述与基础语法.变量.数据类型.运算符与表达式 1.概述与基础语法 2.变量 举例: 3.数据类型 4.运算符与表达式
- Java基础语法(2)-变量
title: Java基础语法(2)-变量 blog: CSDN data: Java学习路线及视频 1.什么是变量? 变量的概念 内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量 ...
随机推荐
- Source Multiplayer Networking【转】
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking Multiplayer games based on th ...
- Dalsa线扫相机配置-一台工控机同时连接多个GigE相机
如图,我强悍的工控机,有六个网口. 实际用的时候连了多台相机,为了偷懒我就把六个网口的地址分别设为192.168.0.1~192.168.0.6,以为相机的IP只要设在192.168.0这个网段然后随 ...
- go get golang.org/x/net 安装失败的解决方法!
GO语言在github.com上建立了自己的项目,对应的包如果不能下载,那么可以到这里去下载,比如:"go get golang.org/x/net"不能下载这个包,那么我们可以访 ...
- XCode10.0遇到的问题
1:编译时报info.plist冲突. 解决方法,XCode上 File -> Workspace Settings ... 将Build System改为 Legacy Build Syste ...
- Python 读取大文件的方式
对于读取容量小的文件,可以使用下面的方法: with open("path", "r") as f: f.read() 但是如果文件容量很大,高达几个G或者十几 ...
- MySQL(作业练习)
day59 参考:http://www.cnblogs.com/wupeiqi/p/5748496.html 现有数据库 /* Navicat Premium Data Transfer Source ...
- 算法逆向6——RSA识别
本文原创作者:i春秋作家——icq5f7a075d 1. 算法介绍 RSA算法是一种用数论构造的.基于大合数因子分解困难性的公开密钥密码.由于RSA密码既可用于加密,又可用于数字签名,安全.易懂,因此 ...
- Google Guava 类库简介
Guava 是一个 Google开发的 基于java的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency librar ...
- ubuntu14.04 安装五笔输入法(fcitx)
ubuntu 14.04安装完成之后,一打字,默认的ibus一直在显示.解决办法,直接卸载ibus,使用fcitx. fictix拼音有fcitx-pinyin.fcitx-sogoupinyin.f ...
- 实验三:分别用for、while和do-while循环语句以及递归方法计算n!,并输出算式
一.用for循环计算n! package for_package; import java.util.*;//导入含有输入类的包 public class for_class { /** * @par ...