Swift入门基础知识
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入门基础知识的更多相关文章
- Swift之基础知识
Swift之基础知识 出于对Swift3.0的学习,写下这篇基本语法的笔记.希望能帮助记忆 -0- 这边提供Swift3.0中文教材,资源链接: https://pan.baidu.com/s/1c2 ...
- USB入门基础知识(转)
源:USB入门基础知识 相关名词: 主机(Host) 设备(Device) 接口(Interface) 管道(Pipe) 管道是主机与设备端点数据传输的连接通道,代表了主机的数据缓冲区与设备端点之间交 ...
- Linux入门基础知识
注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...
- React Native 入门基础知识总结
中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...
- Greenplum入门——基础知识、安装、常用函数
Greenplum入门——基础知识.安装.常用函数 2017年10月08日 22:03:09 在咖啡里溺水的鱼 阅读数:8709 版权声明:本文为博主原创,允许非商业性质转载但请注明原作者和出处 ...
- 1)Linux程序设计入门--基础知识
)Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...
- React入门---基础知识-大纲-1
-----------------在慕课网学习react入门笔记-------------- ---------博主边学边记录,手把手进行学习及记录---------- --------------- ...
- PHP基础入门(二)---入门基础知识必备
前言 在上一章中,我们初步了解了PHP的网页基础和PHP的入门基础,今天继续给大家分享更多有关PHP的知识. 理论知识看起来可能比较枯燥一些,但是我们的实践(敲代码)毕竟离不开它. 只有理论与实践相结 ...
- CodeMix入门基础知识
CodeMix在线订购年终抄底促销!火爆开抢>> CodeMix入门 CodeMix是一个Eclipse插件,可以直接从Eclipse访问VS Code和为Code OSS构建的附加扩展的 ...
随机推荐
- 【jQuery mobile】启程跨平台开发之旅
APICloud创建跨平台应用有两种方法,一种在云端直接创建,一种是在APICloud Studio中创建. 创建一个应用 1.注册账号 2.创建HelloApp应用 3.留意应用的ID . 4.下载 ...
- [Python 网络编程] TCP、简单socket模拟ssh (一)
OSI七层模型(Open System Interconnection,开放式系统互联) 应用层 网络进程访问应用层: 为应用程序进程(例如:电子邮件.文件传输和终端仿真)提供网络服务: 提供用户身份 ...
- Ubunru 16.04 kinetic 下安装turtlebot2
默认安装Ubuntu16.04以及ROS kinetic 防止忘记. 1. 准备工作: $ sudo apt-get install python-rosdep python-wstool ros-k ...
- J2EE从下载到配置成功
1,首先在www.oracle.com网站下载JDK 2 3 4,可以根据自己的需要下载相应的JDK 5,在安装的过程中要将JDK的安装路径和JRE的安装路径安装在不同文件夹中以示区别,例如 6,配置 ...
- PHP面试系列之Linux(一) ----- Linux基础
一.系统安全 sudo:以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行. su:用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码. ...
- Java类加载机制与Tomcat类加载器架构
Java类加载机制 类加载器 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类.实现这 ...
- 升级到 OS EI 后 cocoa pods
安装: sudo gem install -n /usr/local/bin cocoapods 如果出现:pod :command not found 解决办法 S1:cd /Library/Rub ...
- iOS dyld: Library not loaded 报错解决
Xcode 用的是10.1 版本打的苹果包在 ios系统10.0 以上可以正常运行 但是系统9.3的手机安装后直接运行就崩溃 后来插上电脑联调 报错 dyld: Library not loaded: ...
- C++笔记013:C++对C的扩展——C++中所有变量和函数都必须有类型
原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ C++中所有的变量和函数都必须有类型: C语言中的默认类型在C++中是不合法的! 在C语言里面可以写一些很奇怪的函数!并且可以运行成功! ...
- BZOJ 2648: SJY摆棋子(K-D Tree)
Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 6051 Solved: 2113[Submit][Status][Discuss] Descript ...