您的位置:首页 > 移动开发 > Swift

swift基础知识<一>

2015-10-16 20:39 423 查看
//Swift和OC区别
//1.每行结束没有分号
//2.输出不加@符号
//3.没有.h和.m
/*
print("Hello, World!")

//1:常量(let)
let let_1 = 80

// let_1 = 100 常量一旦赋值,不能修改

//2:变量(var)

var var_1 = 100

var_1 = 1234

print(var_1)

//Swift中有类型判断

var var_2 = "hello"

print(var_2);

//swift中的类型 首字母都是大写,自动推断类型

//万能运算符“+”

var var_int1  = 100

var var_int2 = 200

var res = var_int1 + var_int2

print(res)

var var_string1 = "fuck"
var var_string2 = " off"
var res_str = var_string1 + var_string2
print(res_str)

//总结:“+”在swift中不单单可以作为运算符,还可以拼接字符串

//————基本数据类型
//c: int float double char  bool ;
//swift : int float double char bool  string

// 1:声明一个Int 类型的变量
var var_int_1: Int = 10

//2.声明一个float类型的变量
var var_float_1:Float = 1.0

var var_double_1: Double = 1.23

//char类型
var var_char_1: Character = "a"
//bool类型,值为true,false
var var_BOOL_1: Bool = true

//声明一个字符串类型,string类型

var string_1 :String = "u r my sunshine"

*/
//swift中的元组:好像数据库一张表的一条数据
//1:不带元素名字的元祖
/*
var david = ("David",18,188,"未知","男")

let name = david.0
let age = david.1
let height = david.2
let long = david.3
let gender = david.4

print("姓名:\(name) 年龄:\(age) 身高:\(height) 长度:\(long)mm 性别:\(gender) ")

//2.带元素名字的元祖
var carl = (name:"Carl",age:25,height:185.5,性别:"男")
//通过元素的名字获取元素
let name_1 = carl.name;
let age_1 = carl.age;
let height_1 = carl.height
let gender_1 = carl.性别

print("姓名:\(name_1) 年龄:\(age_1) 身高:\(height_1) 性别:\(gender_1)")

//3.指定元素的数据类型
var jack:(name:String,age:Int,height:Double,gender:String) = ("Jack",23,175,"男")
let name_2 = jack.name
let age_2 = jack.age
let height_2 = jack.height
let gender_2 = jack.gender

print(name_2,age_2,height_2,gender)

//总结:元组可以存放不同的数据类型,元祖可以通过下标,通过字段名字获取元素

//------数组-------
//1:不可变数组(let)
let array_1 = ["ni","hao","ma"]
//不能进行增删改
let temp_arr_1 = array_1[0]
*/

//2.可变数组(var)

var array_2 = ["长江","黄河","大海"]
//1.增删改
//增加
array_2.append("湖泊")
//指定下标添加
array_2.insert("小溪", atIndex: 4)
print(array_2)
//修改元素
array_2[2] = "池塘"
print(array_2)

//删除元素
//array_2.removeAtIndex(0)
//print(array_2)
////范围删除
//array_2.removeRange(0...1)
//array_2.removeRange(0..<2)
//array_2.removeAll()
//array_2.removeLast()
//array_2.removeFirst()
//开区间 0...100
//半开区间 0..<10

print(array_2)

//数组中查找:下标查找
//print(array_2[0])
//遍历数组中元素
for value in array_2
{
print(value)
}

for value in array_2[0..<3]
{
print(value)
}
//同时获取数组中的元素和下标
for(index,value) in array_2.enumerate()
{
print(index,value)
}

//-----------字典---------
//Swift中还是根据字典独特的特性key-value 键值对 无序的
var dict_1 = ["key1":"a","key2":"b","key3":"c"]
//a>添加元素 方式1
dict_1.updateValue("d", forKey: "key4")
dict_1["key5"] = "e"
//b>删除元素
dict_1.removeValueForKey("key3")

//c>查找元素
print(dict_1["key2"]!)

//d>修改元素
dict_1["key1"] = "cool"

//遍历字典中的key

for key in dict_1.keys
{
print(key)
}

//遍历字典中的Value
for value in dict_1.values
{
print(value)
}

//同时遍历字典中的key ,value
for ( key,value) in dict_1
{
print(dict_1)
}

print(dict_1)

//---------可选类型 optional
//声明属性的时候必须为可选类型,可选类型可以为nil
//可选类型不能直接使用,使用的时候需要强制拆包,而且不能为nil
//1:可选类型是用来声明属性用的,相当于C语言中 声明一个 int a;

var var_int_a = Int?()
var var_int_b:Int?

var_int_b = 100

if var_int_b == nil{

print("不能拆包")
}else{
print("可以拆包")
let opt_a:Int = var_int_b!//如果有问号,加个!是强制解包
print(opt_a)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: