首页 > 其他分享 >Swift开发图解入门

Swift开发图解入门

时间:2023-06-20 14:02:06浏览次数:62  
标签:index 入门 Int 函数 var println 图解 Swift myDic


《论语·卫灵公》有一段经典对白:『子贡问为仁。子曰:工欲善其事,必先利其器。……』。对于一个程序员来说,好的工具不意味着一定能产生优质的代码,但是好的工具对提升开发效率的作用还是不言而喻的。想要用Swift做iOS开发,唯一可选的利器就是Xcode6了,童鞋们可以从下面的网站获得Xcode6的下载链接,在此页面中还能够找到Swift的官方书籍、样例代码和视频。

Xcode6下载:https://developer.apple.com/swift/resources/

接下来我们可以开始创建一个项目Swift01,如图所示:

Swift开发图解入门_Foundation


Swift开发图解入门_iOS_02


Swift开发图解入门_Lambda函数_03

Swift开发图解入门_Swift_04

Swift开发图解入门_Foundation_05

Swift开发图解入门_图解入门_06


以上看到的就是入门程序『Hello, World』。接下来要做的就是可以通过

Swift开发图解入门_图解入门_07

构建整个项目或者直接通过

Swift开发图解入门_图解入门_08

运行项目并在控制台中查看结果,如下图所示:

Swift开发图解入门_图解入门_09

好了,一切就这么简单,但是我们要讲的肯定不是Hello World那么简单,通过下面的代码先对Swift有个感性的认识吧。


import Foundation

var a:Int = 123   // 定义Int类型的变量a
let b = 321       // 定义常量b通过类型推断为Int

println("\(a) + \(b) = \(a + b)")   // 字符串中的\()可以放变量、常量、表达式
                                    // 输出:123 + 321 = 444

// 从1加到100求和
var sum = 0
for var i = 1; i <= 100; ++i {      // for循环
    sum += i
}
println("SUM = \(sum)")             // 输出:SUM = 5050

for ch in "hello" {                 // 对hello的每个字符进行循环
    println(ch)
}

var randomAge = arc4random() % 50   // 调用Foundation中的函数产生随机数
print("You're \(randomAge) years-old! ")
var myAge:UInt32 = 33;
if randomAge > myAge {              // if-else分支结构
     println("Older than me!")
}
else {
    println("Younger than me!")
}

// 根据现在的系统时间显示提示语
// [吐槽]时间日期的操作在苹果的编程语言里面真麻烦
var currDate = NSDate()                                         // 创建时间日期对象
var myCal = NSCalendar(calendarIdentifier:NSGregorianCalendar)  // 创建日历对象(阳历[格里高利历])
// 下面两行代码取出当前时间日期的小时部分
var myComp:NSDateComponents = myCal.components(NSCalendarUnit.HourCalendarUnit, fromDate:currDate)
var hour = myComp.hour

switch hour {
case 7, 8:
    println("Enjoy your breakfast!")
case 11, 12, 13:
    println("Have a good lunch!")
case 18, 19:
    println("It's a good time for dinner!")
default:
    println("Do something to make yourself happy.")
}

var myArray:Int[] = [12, 35, 96, 47, 5, 23, 68]
myArray += [32, 81]
println(myArray)    // 输出: [12, 35, 96, 47, 5, 23, 68, 32, 81]

// 定义找出数组中最大和最小元素的函数
// 声明函数的关键字是func, findMaxAndMin是函数名
// 函数名后的()中是参数列表, 其参数是Int型的数组,
// 返回值是一个元组(包含多个数据的复合值), 包含两个整数
// 函数的返回值是在函数参数列表后的->之后指定其类型的
func findMaxAndMin(x:Int[]) -> (Int, Int) {
    var min:Int = x[0]
    var max:Int = x[0]
    for var index = 1; index < x.count; ++index {
        if x[index] > max { max = x[index] }
        else if x[index] < min { min = x[index] }
    }
    return (min, max)
}

println(findMaxAndMin(myArray))     //输出: (5, 96)

// 定义一个字典类型(键值对映射)
var myDic = [1001:"Apple", 1002:"Banana", 1003:"Grape"]
for (no, name) in myDic {
    println("key = \(no), value = \(name)")
}
myDic[1003] = "Strawberry"
println(myDic)         // 输出: [1001: Apple, 1002: Banana, 1003: Strawberry]
var myFruit1 = myDic[1002]  // Banana
var myFruit2 = myDic[2001]  // nil

if myFruit2 == nil {
    println(myFruit1)
}
else {
    println(myFruit2)
}

// 将函数作为函数的参数(Lambda函数)
func repeat(count:Int, callback: () -> ()) {
    for i in 0..count {
        callback();
    }
}

// 调用repeat函数输出10次Hello, world!
repeat(10, { println("Hello, world!") })



标签:index,入门,Int,函数,var,println,图解,Swift,myDic
From: https://blog.51cto.com/u_16166070/6522223

相关文章

  • 期货是怎么交易的?从入门到精通全方面解析
    期货市场是金融市场里较为热门的投资领域之一。期货合约是购买者和卖方达成了买卖协议,在特定的时间和价格交割特定量的商品或金融资产。期货市场交易活动的复杂性和变化性使得期货市场的交易不仅需要资深的投资者,还需要有相应的知识和技能才能够深入了解和适当地投资。那么,期货是怎......
  • lazy-nvim插件管理器基础入门
    一篇通过使用lazy.nvim进行nvim插件管理的入门笔记。基础安装init.lua路径:stdpath("config")/init.luastdpath("config")macOS/Linux:~/.config/nvimWindows:~/AppData/Local/nvim--bootstraplazy.nvim--./lua/lazynvim-init.luarequire("lazynvim-init"......
  • 【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)
    前言我发现自己之前可能是有点走偏了,花了两天时间看书几乎一无所获,书上都是代码实现,还没有相应的注释…今天我用ui设计师界面来进行编程,写一个小界面。界面功能1.计算加法;2.可以弹窗;3.使用布局,美化界面;4.退出按钮;界面预览实现1.建立一个QtWidgetsApplication可以参考QT5项目......
  • JVM 入门
    JVM区域划分JVM内存大小=堆+非堆组成堆由三部分组成,Eden(伊甸园),SurFromandSurTo(幸存者),Ten(老年区).注:Sur0/1和SurFrom/To是一回事非堆由三部分组成,metaspace(元空间),codeCache,ClassSpace比例老年代:年轻代=2:1eden:surFrom:surTo=8:......
  • Python开发系列课程(18) - 网络编程入门
    网络编程入门计算机网络基础计算机网络是独立自主的计算机互联而成的系统的总称,组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数,而计算机网络也可以称得上是一个“复杂巨系统”,对于这样的系统,我们不可......
  • 图解transformer中的自注意力机制
    本文将将介绍注意力的概念从何而来,它是如何工作的以及它的简单的实现。注意力机制在整个注意力过程中,模型会学习了三个权重:查询、键和值。查询、键和值的思想来源于信息检索系统。所以我们先理解数据库查询的思想。假设有一个数据库,里面有所有一些作家和他们的书籍信息。现在......
  • ASP.NET Core MVC 从入门到精通之日志管理
    随着技术的发展,ASP.NETCoreMVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NETCoreMVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生,或其他想从事ASP.NETCoreMVC系统开发的人员。经过前几篇文章的讲解,初步了解ASP.NETCore......
  • MySQL入门基础知识
    1MySQL基础1.1常用命令启动服务:netstart服务名停止服务:netstop服务名启动MySQL服务器:MySQL【-h主机名-P端口号】-u用户名-p密码查看MySQL版本:MySQL--version或MySQL–V或登录到MySQL服务端使用selectversion();1.2语法规范每条命令最好用分号结尾每条......
  • SpringBoot整合cache缓存入门
    目的:缓存可以通过将经常访问的数据存储在内存中,减少底层数据源如数据库的压力,从而有效提高系统的性能和稳定性。一、启用缓存@EnableCaching 我们需要在启动类上添加注解@EnableCaching来开启缓存功能。 示例代码如下:importorg.springframework.boot.SpringApplication;impor......
  • Python中的DYNAMIXEL快速入门指南
    原文链接:https://www.youtube.com/watch?v=LAizFTTdL8o hisvideowillbecoveringtherequiredcomponentsandhardware&softwaresetup,andfinallyruntheDYNAMIXELinPythonwithDYNAMIXELSDKwithinjustafewMINUTES. 本视频将涵盖所需的组件和硬件、软......