Swift-基础语法之变量&常量&元组
使用 let来声明一个常量,用 var来声明一个变量。常量的值在编译时并不要求已知,但是你必须为其赋值一次。这意味着你可以使用常量来给一个值命名,然后一次定义多次使用
var myVariable =
myVariable =
let myConstant =
常量或者变量必须拥有和你赋给它们的值相同的类型。不过,你并不需要总是显式地写出类型。在声明一个常量或者变量的时候直接给它们赋值就可以让编译器推断它们的类型。比如下面的栗子,编译器就会推断 myVariable是一个整型,因为它的初始值是一个整型。
如果初始值并不能提供足够的信息(或者根本没有提供初始值),就需要在变量的后边写出来了,用冒号分隔
let implicitInteger =
let implicitDouble = 70.0
let explicitDouble: Double =
在swift中,值永远不会隐式地转换为其他类型。如果你需要将一个值转换为不同的类型,需要使用对应的类型显示地声明
let label = "The width is"
let width =
let widthLabel = label + String(width)
print(widthLabel)
其实还有一种更简单的方法来把值加入字符串:将值写在圆括号里,然后再在圆括号的前边写一个反斜杠 ( \) ,举个栗子:
let apples =
let oranges =
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
使用方括号( [])来创建数组或者字典,并且使用方括号来按照序号或者键访问它们的元素
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[] = "bottle of water" var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations"
使用初始化器语法来创建一个空的数组或者字典
let emptyArray = [String]()
let emptyDictionary = [String: Float]()
如果类型信息能被推断,那么你就可以用[]来表示空数组,用[:]来表示空字典。举个栗子,当你给变量设置新的值或者传参数给函数的时候
shoppingList = []
occupations = [:]
/*******基础语法*******/
一、变量和常量
01 变量和常量的定义
在swift中变量使用var来修饰,常量使用let来修饰,变量可以修改而常量不能被修改。
变量:var
常量:let
格式:修饰符(var|let) 变量|常量名称:数据类型 = 值
注意:在使用swift开发过程中,一般情况下先使用let,只有该数据需要修改的时候再修改为var,可以保证数据安全性。
var number:Int = //定义变量并初始化
number = //变量的数值可以修改 let hNumber:Int = //定义常量并初始化
hNumber = //常量的数据不可以修改
02 类型推导
在swift中如果在变量|常量定义的时候进行初始化,那么数据类型可以省略不写,系统会自动推导出该变量|常量的数据类型。
建议:在开发中应该尽量使用自动推导(除非是需要明确指定数据长度或者是需要先定义后初始化),可以最大化的降低代码的冗余。
03 类型转换
在OC中有显示转换和隐式的类型转换,但在swift中没有隐式类型转换,只有相同类型的数据才能进行赋值或运算。
//赋值操作
let hnumber3:Int = Double(10.0) //不同数据类型的数据不允许赋值 //运算
let hnumber4 =
let hnumber5 = 88.8
let hnumber6 = Double(hnumber4) + hnumber5
二、元组
元组是一种复合的数据类型,只要将多个数据(可以是相同或不同数据类型的)使用一夜()括起来就称之为一个元组。
元组的优点在于,可以方便的实现函数返回多个值。
元组的定义格式:常量|变量修饰符 常量|变量的名称:(数据类型1,数据类型2,数据类型3)=(值1,值2,值3)
//定义并初始化元组
let person:(String,Int,Double) = ("hhggll",,99.9)
//提取元组的内容
person.
person.
person. //给元组的元素设置名称
let hPerson = (name:"hhggll",age:,score:99.0)
//提取元组的内容
hPerson.name
hPerson.age
hPerson.score //提取元组数据
let (name,age,score) = ("hhggll",,)
name
age
score
Swift-基础语法之变量&常量&元组的更多相关文章
- swift基础语法之——变量和常量
swift使用let关键字来定义常量,使用var来定义变量,变量在使用前必须初始化(赋初始值) swift是类型安全语音,即不同类型的变量不能一起运算,必须转成同一类型才可以 变量的类型在声明时不必给 ...
- Swift基础语法之变量函数
import Foundation //变量声明使用 //使用 let 来声明常量,使用 var 来声明变量 常量只能为它赋值一次 let name="cuiyw"; var ag ...
- iOS开发Swift篇(01) 变量&常量&元组
iOS开发Swift篇(01) 变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对于14年 ...
- 李洪强iOS开发Swift篇---11_变量&常量&元组
李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...
- 020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结
020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结 本文知识点:变量与常量 知识总结 Java中的标识符 Java中的关键字 目前常 ...
- 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例
019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...
- 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念
018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...
- 017 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 11 变量综合案例
017 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 11 变量综合案例 本文知识点:变量 相同类型的变量可以一次同时定义多个 例:可以一行代码同时定义2个变量x ...
随机推荐
- What is Vertical Align?
https://css-tricks.com/what-is-vertical-align/ ************************************************* CSS ...
- session的创建与销毁
刚才在测试一个HttpSessionListener package org.lxh.listenerdemo ; import javax.servlet.http.* ; public class ...
- 由sqlite在手机上的存储位置,引发的onCreate在哪里执行的小结
我们都知道,android为了操作数据库,一般是继承SQLiteOpenHelper类,并实现他的三个函数. 如下所示: package jz.his.db; import android.conte ...
- JavaScript高级 面向对象(2)--调试工具的使用:音乐循环播放
说明(2017.3.29): 1. 在调试工具console里输入var v = document.createElement("audio"),然后再source的watch里输 ...
- VC 与Matlab混合编程之引擎操作详解
Visual C++ 是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快.但在科学计算方面函数库显得不够丰富.读取.显示数据图形不方便. Matlab 是一款将数值分析.矩阵计算.信 ...
- 基于jQuery悬停弹出遮罩显示按钮代码
今天给大家分享一款基于jQuery悬停弹出遮罩显示按钮代码.这是是一款当鼠标悬停在图片上后,会出现一系列的按钮,文字等弹性动画效果.效果图如下: 在线预览 源码下载 实现的代码. html代码: ...
- IIS安全加固
1 删除IIS默认站点 把IIS默认安装的站点删除或禁用掉. 2 禁用不必要的Web服务扩展 打开IIS 管理器,检查是否有不必要的“Web服务扩展”,如果有则禁用掉.如下图所示: 3 IIS访问权限 ...
- [Linux小技巧] 一行命令让CPU占用率达到100%
for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/d ...
- ios两视图间托付(delegate)传值
现有两个视图(ViewController.ViewController1),从ViewController中带參数跳转到ViewController1,在ViewController1选中数据后带有 ...
- cat /etc/init.d/nfs 这句话看不懂
if status rpc.mountd > /dev/null ; then exit 0 fi Linux非root用户程序使用小于1024端口 在Linux下,默认端口1024下的是 ...