//本节介绍 : 常量 变量 常量和变量的数据类型---------------------------------------
//如果一行中只有一条语句,语句最后就不需要带分号,如果一行中带有多条语句,语句之间就需要加分号,而最后一条不需要
//取余操作(%) Swift 的取余操作除了支持针对整数类型的取余操作外,还支持对浮点数的取余操作。 如8 % 2.5 // equals 0.5
//等号或者不等号操作符(=== 和!==),
//逻辑操作:非操作(!a)、与操作(a && b)、或操作(a || b)。
//Swift包括两个范围操作符运算:一个闭合范围操作(a...b),a和b都包括。一个半闭合范围操作(a..b),不包括b
//Swift 支持所有的C语言支持的位操作,包括位非(~) 、位与(&) 、位或(|) 、位异或(^)、位左移(<<)和位右移(>>) 等操作。
/*
可以在双引号的字符串中使用如下形式包含特殊形式的字符:
1)\0,\\,\t,\n,\r,\" ,\’;
2)单字节Unicode标量,写作 \xnn, nn是两个十六进制数值;
3)双字节Unicode标量,写作\unnnn , nnnn是四个十六进制数值;
4)四字节Unicode标量,写作\Unnnnnnnn , nnnnnnnn是八个十六进制数值;
如下所示:
let wiseWords ="\"Imagination is more important than knowledge\" - Einstein"
// "Imagination is more important than knowledge" - Einstein
let dollarSign ="\x24" // Unicode scalar U+0024
let blackHeart ="\u2665" // Unicode scalar U+2665
let sparklingHeart ="\U0001F496" // Unicode scalar U+1F496
可以使用如下两种形式来创建一个空字符串值:
*/var emptyString ="" // empty string literal
var anotherEmptyString =String() //使用字符串的初始化语法来初始化一个新的字符串。
/*
let decimalInteger = 17 //十进制表达(没有前缀)
let binaryInteger = 0b10001 // 二进制表达(0b开头)
let octalInteger = 0o21 // 八进制表达(0o开头)
*/let hexadecimalInteger = 0x11 // 十六进制表达(0x开头)
同的指数形式。如下所示:
1.25e2 means 1.25 × 102, or125.0. 十进制表达形式(不带前缀,指数用大小写的e来指示)
0xFp2 means 15 × 22, or60.0. 十六进制表达形式(以0x开头,指数用大小写的p来指示
Swift中,为了使数字表达更加易读和自然,数字表达格式还能包含额外的信息,如整数和浮点数都能在前面添加额外的0以及在数字之间包含下划线。如下所示:
let paddedDouble = 000123.456
let oneMillion = 1_000_000
let justOverOneMillion = 1_000_000.000_000_1
使用字符串的unicodeScalars属性来存取字符串Unicode格式的表现。如:
for scalar in dogString.unicodeScalars {
print("\(scalar.value) ")
}
print("\n")
或
for scalar in dogString.unicodeScalars {
print("\(scalar) ")
}
//常量
/*
关键字:let
特点:赋值后不能在改变
*/
let constNum=100;
//constNum= 200 ;//错误写法
//变量
/*
关键字:var
特点:值是可以改变的
*/
var num = 100;
num = 200; // 可以
// 常量的数据类型
/*
声明一个变量(常量) 数据类型的方法:
变量名:数据类型
常量名:数据类型
*/
let constNum1:Int = 100; //声明constNum1 是Int类型
var constStr:String="123"; //constStr=123; 错误写法 constStr 是String 类型
var PI:Double = 3.1415926; //声明constNum1 是Double类型
函数----------------------------------------------------------------------------------------------
//
// main.swift
// swift函数
//
// Created by zhangbiao on 14-6-13.
// Copyright (c) 2014年 理想. All rights reserved.
//
import Foundation
/*本节知识点:
(1)函数的定义
(2)不带参数不带返回值的的函数
(3)带参数的函数
(4)带参数带返回值得函数
(5)带多个返回值的函数
(6)函数嵌套函数
(7)带有标签的函数
*/
/*
(1)函数的定义:
声明函数关键字 func
swift函数 参数带有标签功能 可以用 也可以不用 下面会详细的讲到
swift函数 返回值在函数首部后面用 ->返回值类型
*/
//(2)声明一个没有参数 没有返回值的函数 func是声明函数关键字 testfunc1是函数名
func testfunc2()
{
println("testfunc2 不带参数 不带返回值的函数");
}
// (3)testfunc2函数名 canshu1参数名字 Int是参数类型 canshu2参数名 String参数类型
func testfunc3(canshu1:Int ,canshu2:String)
{
println("testfunc3 是有两个参数的函数,第一个参数的类型是Int类型 值为:\(canshu1) ,第二个参数的类型为:String 类型 值为:\(canshu2)");
}
// (4)带参数带返回值得函数 str参数 参数的类型为Int类型 返回值类型是String
func testfunc4(str:Int)->String
{
return String(str)+"理想";
}
//(5)带有多个返回值的函数
func testfunc5()->(Int ,String)
{
return(123456,"ABC");
}
//(6)函数嵌套函数 ,在函数内部有定义了一个函数为:testfunc6son()
func testfunc6()
{
func testfunc6son()
{
println("testfunc6 函数内部嵌套了一个testfunc6son()函数, 执行testfunc6()函数,且调用testfunc6son()");
}
// 调用了testfunc6son 函数
testfunc6son();
}
//(7)带有标签的函数 Name为函数的第一个标签 name为第一个参数名 String为第一个参数的类型,Age为第二个参数的标签 age为第二个参数名 Int为第二个参数的类型
func testfunc7(Name name:String, Age age:Int)
{
println("testfunc7 是带有标签的函数 Name为函数的第一个标签name为第一个参数名String为第一个参数的类型,Age为第第二个参数的标签age为第二个参数名Int为第二个参数的类型 参数的值分别为:\(name) \(age)");
}
// 调用函数
testfunc2();
testfunc3(123,"理想");
println("testfunc4 函数 参数为Int 类型 返回值类型为String的函数 :\(testfunc4(1000))");
let (v1,v2) = testfunc5();
println("testfunc5 是一个有两个返回值的函数 ,第一个返回值为Int类型 值为:\(v1) 第二个返回值为String类型 值为:\(v2) ");
testfunc6();
testfunc7(Name:"理想", Age:20);
测试函数的控制台输出结果
testfunc2 不带参数 不带返回值的函数
testfunc3 是有两个参数的函数,第一个参数的类型是Int类型 值为:123 ,第二个参数的类型为:String 类型 值为:理想
testfunc4 函数 参数为Int 类型 返回值类型为String的函数 :1000理想
testfunc5 是一个有两个返回值的函数 ,第一个返回值为Int类型 值为:123456 第二个返回值为String类型 值为:ABC
testfunc6 函数内部嵌套了一个testfunc6son()函数, 执行testfunc6()函数,且调用testfunc6son()
testfunc7 是带有标签的函数 Name为函数的第一个标签name为第一个参数名String为第一个参数的类型,Age为第第二个参数的标签age为第二个参数名Int为第二个参数的类型 参数的值分别为:理想 20
Program ended with exit code: 0