Serie de desarrollo de iOS: lenguaje Swift

Descripción general

Swift es un nuevo lenguaje de programación lanzado por Apple en 2014. Hereda las características del lenguaje C y ObjC y supera los problemas de compatibilidad del lenguaje C. Durante el proceso de desarrollo de Swift, no solo conservó muchas características gramaticales de ObjC, sino que también se basó en las características de varios lenguajes modernos, en los que se pueden ver sombras de C#, Java, Javascript, Python y otros lenguajes. Al mismo tiempo, en la WWDC de 2015, Apple también anunció una nueva versión de Swift, Swift 2.0, y anunció que Swift sería de código abierto más adelante y sería compatible con Linux además de iOS y OS X.

Este artículo continuará la serie de tutoriales de desarrollo de iOS, suponiendo que los lectores ya tengan una base en otros idiomas (se recomienda encarecidamente que los principiantes comiencen a leer desde el primer capítulo de esta serie. Si desea aprender de Swift, se recomienda (que primero lea el libro electrónico oficial de Apple "el lenguaje de programación rápido" ), analizará la sintaxis de este lenguaje poco a poco desde cero y tiene como objetivo ayudar a todos a realizar una transición rápida del desarrollo ObjC al desarrollo Swift. Aun así, no es fácil presentar las características gramaticales de Swift de la manera más completa posible, por lo que este artículo se presentará con mayor extensión.

  1. parte basica
    1. Primer programa Swift
    2. tipo de datos
      1. tipo base
      2. Tipo de colección
      3. tupla
      4. Tipo opcional
    3. operador
    4. flujo de control
  2. Funciones y cierres
    1. función
    2. Cierre
  3. amable
    1. Atributos
    2. método
    3. guión de subíndice
    4. heredar
  4. protocolo
  5. Expandir
  6. Enumeraciones y estructuras
    1. Estructura
    2. enumerar
  7. Genéricos

parte basica

Primer programa Swift

Cree un programa de línea de comando de la siguiente manera:

import Foundation
 
/**
*  Swift没有main函数,默认从top level code的上方开始自上而下执行(因此不能有多个top level代码)
*/
println("Hello, World!")

Como se puede ver en el código anterior:

  1. Swift no tiene una función principal, se ejecuta desde la parte superior del código de nivel superior (es decir, se ejecuta la primera declaración que no es de declaración [expresiones o estructuras de control, clases, estructuras, enumeraciones, métodos, etc. son declaraciones de declaración). ]) y no puede existir. Varios archivos de código de nivel superior (de lo contrario, el compilador no puede determinar la entrada de ejecución. De hecho, Swift tiene implícitamente una función principal, que establecerá y llamará al "C_ARGC C_ARGV" global y llamará a la función top_level_code() compuesta de código de nivel superior);
  2. Swift introduce otras bibliotecas de clases mediante la importación (similar a Java);
  3. Las declaraciones Swift no necesitan terminar con comillas dobles (aunque agregarlas no causará un error), a menos que una línea contenga varias declaraciones (similar a Python);

tipo de datos

Swift contiene todos los tipos básicos en lenguajes C y ObjC, Int entero,

import Foundation
 
var a:Int=1 //通过var定义一个变量
 
//下面变量b虽然没有声明类型,但是会自动进行类型推断,这里b推断为Int类型
var b=2
 
var c:UInt=3
let d=a+b //通过let定义一个变量
 
//下面通过"\()"实现了字符串和变量相加(字符串插值),等价于println("d="+String(d))
println("d=\(d)") //结果:d=3
 
//注意由于Swift是强类型语言,a是Int类型而c是UInt类型,二者不能运算,下面的语句报错;但是注意如果是类似于:let a=1+2.0是不会报错的,因为两个都是字面量,Swift会首先计算出结果再推断a的类型
//let e=a+c
 
//Int.max是Int类型的最大值,类似还有Int.min、Int32.max、Int32.min等
let e=Int.max //结果:9223372036854775807
 
var f:Float=1.0
var g=2.0 //浮点型自动推断为Double类型
 
var h:String="hello "
 
//emoj表情也可以作为变量或者常量,事实上所有Unicode字符都是可以的
var 									
iOS开发系列--Swift语言的更多相关文章
	
								
iOS开发系列--Swift进阶
		
概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...
		
						
iOS开发系列--C语言之基础知识
		
概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift  ...
		
						
iOS开发系列--Swift 3.0
		
概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...
		
						
iOS开发系列--C语言之存储方式和作用域
		
概述 基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式.作用范围和销毁时间才可能正确的使用这门语言.今天将着重介绍C语言中变量作用范围.存储方式.生命周期.作用 ...
		
						
iOS开发系列--C语言之数组和字符串
		
概览 数组在C语言中有着特殊的地位,它有很多特性,例如它的存储是连续的,数组的名称就是数组的地址等.而在C语言中是没有String类型的,那么如果要表示一个字符串,就必须使用字符数组.今天主要就介绍如 ...
		
						
iOS开发系列--C语言之指针
		
概览 指针是C语言的精髓,但是很多初学者往往对于指针的概念并不深刻,以至于学完之后随着时间的推移越来越模糊,感觉指针难以掌握,本文通过简单的例子试图将指针解释清楚,今天的重点有几个方面: 什么是指针  ...
		
						
iOS开发系列--C语言之预处理
		
概述 大家都知道一个C程序的运行包括编译和链接两个阶段,其实在编译之前预处理器首先要进行预处理操作,将处理完产生的一个新的源文件进行编译.由于预处理指令是在编译之前就进行了,因此很多时候它要比在程序运 ...
		
						
iOS开发系列--C语言之构造类型
		
概述 在第一节中我们就提到C语言的构造类型,分为:数组.结构体.枚举.共用体,当然前面数组的内容已经说了很多了,这一节将会重点说一下其他三种类型. 结构体 枚举 共用体 结构体 数组中存储的是一系列相 ...
		
						
iOS开发系列文章(持续更新……)
		
iOS开发系列的文章,内容循序渐进,包含C语言.ObjC.iOS开发以及日后要写的游戏开发和Swift编程几部分内容.文章会持续更新,希望大家多多关注,如果文章对你有帮助请点赞支持,多谢! 为了方便大 ...
		
		
	
 
随机推荐	
									
用CIL写程序:你好,沃尔德
			
前言: 项目紧赶慢赶总算在年前有了一些成绩,所以沉寂了几周之后,小匹夫也终于有时间写点东西了.以前匹夫写过一篇文章,对CIL做了一个简单地介绍,不过不知道各位看官看的是否过瘾,至少小匹夫觉得很不过瘾. ...
			
						
jQuery学习之路(8)- 表单验证插件-Validation
			
▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...
			
						
[C#] 简单的 Helper 封装 -- RegularExpressionHelper
			
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
			
						
ASP.NET Core CORS 简单使用
			
CORS 全称"跨域资源共享"(Cross-origin resource sharing). 跨域就是不同域之间进行数据访问,比如 a.sample.com 访问 b.sampl ...
			
						
Consul-template的简单应用:配置中心,服务发现与健康监测
			
简介 Consul-template是Consul的一个方扩展工具,通过监听Consul中的数据可以动态修改一些配置文件,大家比较热衷于应用在Nginx,HAProxy上动态配置健康状态下的客户端反向 ...
			
						
【HTML】Html页面跳转的5种方式
			
目录结构: // contents structure [-] html实现 javascript方式实现 结合了倒数的javascript实现(IE) 解决Firefox不支持innerText的问 ...
			
						
Cesium简介以及离线部署运行
			
Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...
			
						
一个软件开发者的BPM之路
			
我是小林,一名普通的软件工程师,从事BPM(业务流程管理)软件开发工作.我没有几十年的技术底蕴,无法像大牛们一样高谈阔论,品评BPM开发之道:也不是资深的流程管理专家,能与大家分析流程管理的时弊.我只 ...
			
						
Android 指纹认证
			
安卓指纹认证使用智能手机触摸传感器对用户进行身份验证.Android Marshmallow(棉花糖)提供了一套API,使用户很容易使用触摸传感器.在Android Marshmallow之前访问触摸 ...
			
						
如何开启MySQL 5.7.12 的二进制日志
			
1. 打开/etc下的my.cnf文件 2. 编辑它,添加内容: log_bin=binary-log   #二进制日志的文件名 server_id=1  #必须指定server_id,这是MySQL ...
			
						

Tipos de coma flotante y doble, tipo booleano Bool, tipo de carácter, tipo de cadena; por supuesto, también incluye enumeración, tipo de construcción de estructura de estructura; matriz de matriz, colección de conjuntos, tipo de colección de diccionario de diccionario; no solo eso, sino también agrega tupla de tipo de datos de primer orden de alto nivel (Tuple), tipo opcional (Optinal).

tipo base

Xcode ha agregado pruebas de código Playground desde 6.0, lo que le permite ver los resultados de la ejecución del código en tiempo real. Usemos Playground para demostrar brevemente el contenido básico de Swift y obtener una comprensión simple de Swift:

Supongo que te gusta

Origin blog.csdn.net/lmrylll/article/details/130485509
Recomendado
Clasificación