var //代表变量,变量的值可以改变

let//代表常量类型不可改变

//声明常量heh类型Swift会自动根据你的值来自动判断该变量的类型也可以指定类型(个人感觉还是指定类型的比较好,可能会减少系统的开销),值为10

//自动判断变量的类型

let heh = 10//假如在下面的代码中没有用到该变量Swift就会提示将let改为下划线,因为下划线代表忽略该变量,就相当于OC中提示并没有用该属性或者变量一样,估计没用到的变量一般人也不会写,只是给刚入门的说一下并不是你写错了或者Xcode有问题,只是Swift提示很细

//声明指定变量的类型

let heh:Double = 10.000

//声明变量hehe类型Swift会自动根据你的值来自动判断该变量的类型也可以指定类型(个人感觉还是指定类型的比较好),值为10

var heh:Double = 10//假如声明的变量没有改变的话Swift也会提示将其改为let

//修改变量的值

heh = 12

//输出打印信息

print(heh)

Swift还可以用中文当作变量的名字,因为Swift支持unicode编码,所以变量名可以是中文甚至是表情(感觉中文还是好一点,和java一样代码的风格也都和java一样)

比如:

   var 测试:Double = 10

测试 = 12

print(测试)

而且Swift的字符串不用带@,直接""就可以了

//遍历字符串

let zifu:String="abcdefghijk"

for zf in zifu.characters {

print(zf)

}

或者也可以这样直接将字符串进行遍历(因为Swift会自动把字符串判断成String类型)

for zf in "abcdefghijk".characters {

print(zf)

}

//合并字符串(表示和java基本上就是一样啊)直接用加号就可以了字符串a,b。合成字符串c就是c=a+b

let zifu:String="abcdefghijk"

let zf2="xyz"

let zf3 = zifu+zf2

print(zf3)

print(zifu+zf2)

//转义输出就是5*10=50

let a = 5

let b = 10

let js = "\(a)*\(b)=\(a*b)"

print(js)

//数组 数组元素必须统一这个就不说了

  let names = ["赵","钱","孙","李","周","吴","正","王"]

print(names)

//字典假如键所对应的值类型都是一样就照着下面写就可以

  let zidian = ["a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,"k":11]  

print(zidian)

假如值的类型有很多种那么Swift就会提示变成下面这种

let zd = ["jian":"zhi","hehe":5,"sds":8,"sdffd":43,"fdss":"dsdds","dasa":"dsdsd","cdsd":454] as [String : Any]

一看就知道了,后面语句的意思就是键是String类型的,而值为任意类型的

//循环(基本上其他语言有的这里都有)

for zf in "abcdefghijk".characters {

print(zf)

}

//1...5代表遍历1到5包括1和5(三个点代表全闭区间)

for number in 1...5 {

print(number)

}

//1..5代表遍历1到5包括1但不包括5(两个点代表半开半闭区间不包含右边的区尾)

for number in 1..5 {

print(number)

}

//遍历字典,可以一下就把键和值都遍历出来

let zd = ["jian":"zhi","hehe":5,"sds":8,"sdffd":43,"fdss":"dsdds","dasa":"dsdsd","cdsd":454] as [String : Any]

for (j,z) in zd {

print("键=\(j),值=\(z)")

}

//数组操作

//数组数组元素必须统一这个就不说了

var names = ["赵","钱","孙","李","周","吴","正","王"]

//显示元素

print(names[0])

//增加元素

names.append("冯")

//修改元素

names[0]="陈"

//把第三个元素到第五个元素替换掉

names[3...5]=["楚","魏"]

//字典

//定义一个可变字典

var zidian = ["a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,"k":11]

//修改字典某个键的值

zidian["a"]=8

//方法,Swift中的方法是这样的

//参数和返回值都为空的一个方法

func kong()

{

print("空")

}

//带参数的方法,但是没有返回值

func hello(hehe:String) {

print("\(hehe)")

}

//带参数并且有返回值

func fanhuizhi(name:String) -> String {

return name

}

//多参数多返回值

func duofanhuizhi() -> (Int,String) {

return(200,"haha")

}

//多参数多返回值第二种类型

func duofanhuizhi2() -> (code:Int,name:String) {

return(200,"haha")

}

Swift入门基础知识的更多相关文章

  1. Swift之基础知识

    Swift之基础知识 出于对Swift3.0的学习,写下这篇基本语法的笔记.希望能帮助记忆 -0- 这边提供Swift3.0中文教材,资源链接: https://pan.baidu.com/s/1c2 ...

  2. USB入门基础知识(转)

    源:USB入门基础知识 相关名词: 主机(Host) 设备(Device) 接口(Interface) 管道(Pipe) 管道是主机与设备端点数据传输的连接通道,代表了主机的数据缓冲区与设备端点之间交 ...

  3. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

  4. React Native 入门基础知识总结

    中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...

  5. Greenplum入门——基础知识、安装、常用函数

    Greenplum入门——基础知识.安装.常用函数 2017年10月08日 22:03:09 在咖啡里溺水的鱼 阅读数:8709    版权声明:本文为博主原创,允许非商业性质转载但请注明原作者和出处 ...

  6. 1)Linux程序设计入门--基础知识

    )Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...

  7. React入门---基础知识-大纲-1

    -----------------在慕课网学习react入门笔记-------------- ---------博主边学边记录,手把手进行学习及记录---------- --------------- ...

  8. PHP基础入门(二)---入门基础知识必备

    前言 在上一章中,我们初步了解了PHP的网页基础和PHP的入门基础,今天继续给大家分享更多有关PHP的知识. 理论知识看起来可能比较枯燥一些,但是我们的实践(敲代码)毕竟离不开它. 只有理论与实践相结 ...

  9. CodeMix入门基础知识

    CodeMix在线订购年终抄底促销!火爆开抢>> CodeMix入门 CodeMix是一个Eclipse插件,可以直接从Eclipse访问VS Code和为Code OSS构建的附加扩展的 ...

随机推荐

  1. 【MySQL-123】MySQL8.0.12 安装于Win10

    参考blog:MySQL8.0.12 安装及配置 [坑一]输入net start mysql时,MYSQL服务无法启动. 问题:第三步my.ini文件编码错误. 解决方案:https://blog.c ...

  2. 3、Spring Cloud - Eureka(高可用Eureka Server集群)

    在实际的项目中,可能有几十个或者几百个的微服务实例,这时 Eureka Server 承担了非 常高的负载.由于 Eureka Server 在微服务架构中有着举足重轻的作用,所以需要对 Eureka ...

  3. 《metasploit渗透测试魔鬼训练营》学习笔记第四章—web应用渗透

    继续来学习metasploit...记好笔记是很重要的,下面开始正文: 二.WEB应用渗透技术     1.WEB应用渗透基础知识        先介绍WEB应用攻击的主要类型(大致介绍,具体请自行查 ...

  4. ERDAS IMAGINE 2014 32位 破解安装

    1.        安装Install ERDAS Foundation 2014 2.        安装ERDAS IMAGINE 2014  32位 3.        安装Intergraph ...

  5. HttpClient使用小结

    使用HttpClient发送请求.接收响应很简单,只要如下几步即可. 1. 创建HttpClient对象. 2. 如果需要发送GET请求,创建HttpGet对象:如果需要发送POST请求,创建Http ...

  6. 《移动App测试实战》读书笔记

    第一章 概述 什么是移动产品? 移动产品是一个可以在移动设备上安装的App,或者一个可以在移动设备上访问的定制页面. 1.1 研发流程 互联网产品的研发过程主要涉及以下职位分工. 产品经理:负责产品方 ...

  7. 【题解】洛谷P1073 [NOIP2009TG] 最优贸易(SPFA+分层图)

    次元传送门:洛谷P1073 思路 一开始看题目嗅出了强连通分量的气息 但是嫌长没打 听机房做过的dalao说可以用分层图 从来没用过 就参考题解了解一下 因为每个城市可以走好几次 所以说我们可以在图上 ...

  8. Oracle DataGuard启动与关闭顺序

    (一)Active DataGuard启动顺序(1)启动监听,先启从库再起主库 lsnrctl start (2)启动数据库,先启动备库在启主库 --先启备库 sql>startup nomou ...

  9. [iOS]UIFont的lineHeight与pointSize

    写这篇文章的初衷是由于我有一次想获取一个font的字体大小时使用了UIFont的lineHeight属性,结果是比字体的大小要大了一部分,然后经过查阅各种资料,发现了原因. 首先我们来看一看UIFon ...

  10. js获取今天,明天,本周五,下周五日期的函数

    代码比较简单,随便写写 /** * a连接快速选择日期函数 */ function timeChooseSimple(key, me) { //today,tomorrow,thisWeek,next ...