Swift语言基础篇

Windows程序设计:从API到实践的全面教程 本文还有配套的精品资源,点击获取 简介:《Windows程序设计》是一本详细论述在Windows操作系统下进行程序开发的教材。它提供了英文原文和中文翻译,为国内读者学习提供了便利,并且通过提供源代码,将理论与实践相结合。书中涵盖关键知识点,如Windows API、消息驱动机制、窗口和控件管理、GDI图形编程、内存与进程线程管理、文件I/O操作、注册表操作、事件驱动编程、调... 阅读详情
Swift语言基础学习
  • 导入系统类库头文件(swift中称之为模块)


import UIKit

  • 定义一个常量


let a = 5

  • 定义一个变量


var str = "Hello, World!"

  • swift中打印输出


print("Hi,Girl!");

注意事项:如果在一行内想要写多条语句时需要用分号隔开,一行内写一句代码分号可加可不加(不推荐加)


//一行内多句代码
let dog = "ddd";print(dog)

//一行内一句代码
let my = "我的"
let age = 20
let sex = "male"
print(my)
print(age)
print(sex)
  • 一次性定义多个变量


var a = 0.0, b = 0.0, c = 0.0

  • 定义变量并赋初值
var a : Float = 5;
var userName = "yangshebing"
  • 字符串插值方式:相当于占位符输出


print("the user name is \(userName)”)

  • 定义一个指定类型的变量
var name : String
name = "yangshebing";
print(name);

注意:在Swift中支持多行注释嵌套

  • 定义一个数组

最简单粗暴的方法:


let array = ["a", "b", "c"]

常规写法:

let array1: [String] = ["A", "B", "C"]
let array2: Array<String> = ["A", "B", "D”]
  • 整数和浮点数之间转换
let num = 3
let pointNum = 0.14159
let pi = Double(num) + pointNum
let numPi = Int(pi)
//Float转换成Int类型时,实型值总是会被缩短,意味着4.75将会变成4, -3.9将会变成-3
print(numPi)
  • 自定义类型别名
typealias MyIntType = Int
let num : MyIntType = 10
  • 布尔

Swift 有一个基本布尔类型,称之为Bool。它提供了两个布尔常量值:true和false

let isMore = true
let isRainy = false
  • 布尔类型在if语句中的使用
let isApple = true
if isApple {
    println("this is Apple")
}

使用布尔类型应当注意事项:Swift的类型安全机制会防止non-Boolean代替Bool值,比如下面的代码就会报编译时错误:

let num = 1
if num {
    //这个例子编译的时候会报错,但是在Objective-C语言中不会。
}

正确使用的方式如下:

let number = 1
if number == 1 {
    println("this is one")
    //这个编译成功
}

另外,这里提一下:在Swift中判断两个对象是否相等是使用”===“”!==”

  • Swift中元组的使用
//定义一个元组
let salaryCombination = (10000, "one month")
//它代表的是一个(Int, String)类型的元组
//分解元组
let (salary, month) = salaryCombination
print("The salary is \(salary)")
print("The month is \(month)")
//你如果只需要元组的一部分值,你也可以这样写
let (salary,_)
print(the salary is \(salary))
  • 元组取值方式总结
方式一
let firstSalary = (10000, "one month")
let (salary1,month1) = firstSalary
let secondSalary = (20000,"two month")
let (salary2, month2) = secondSalary
print("一月收入month1: \(salary1)")
print("二月收入month2: \(salary2)”)

//方式二
let firstSalary = (10000, "one month")
let (salary1,month1) = firstSalary
let secondSalary = (20000,"two month")
let (salary2, month2) = secondSalary
//输出元组中的第0个元素, firstSalary.0:firstSalary代表元组名,0代表下标
print("一月的收入month1: \(firstSalary.0)")
print("二月的收入month2: \(secondSalary.0)”)

//方式三
let firstSalary = (salary : 10000,month : "one month")
let (salary1,month1) = firstSalary
let secondSalary = (salary :20000,month : "two month")
let (salary2, month2) = secondSalary
//输出元组中的第0个元素, firstSalary.salary:firstSalary代表元组名,salary代表元组元素的名字
print("一月的收入month1: \(firstSalary.salary)")
print("二月的收入month2: \(secondSalary.salary)")
本文参考文章资料:
  • 《The Swift Programming Language》

欢迎共同学习进步,本着分享的精神,只是为了让你学习起来更加轻松。

如需转载,请注明出处

精通Windows程序设计:从入门到高级应用 本文还有配套的精品资源,点击获取 简介:《Windows程序设计》是一本面向初学者的权威教程,专注于使用Microsoft Visual C++开发高效的Windows应用程序。本书详细介绍了Windows编程基础,包括Windows API、Visual C++ IDE、MFC库、消息机制、控件与窗口、资源管理、编译链接过程、调试技巧、异常处理、多线程编程以及文件操作和网... 阅读详情

相关推荐

《Windows程序设计》第五版中文英文双语教材

Windows API(Application Programming Interface)是微软为开发者提供的一套应用程序接口,其使得开发者能够在Windows操作系统上进行程序设计。Windows API是构建在操作系统底层功能之上的接口,允许开发者访问系统资源和执行高级操作。

weixin_42298254的博客 878

windows程序设计

windows、windows程序设计

幻影浪子 271

【SABRE 3D, SABRE 3DxT,LAM设备】2025年9月14日-Clamshell 拆卸与安装

Clamshell 拆卸与安装。

weixin_46735260的博客 1690

《Windows核心编程》&《windows程序设计》Start

恶补基础啊……第一章看完,第二章以前看过跳过,第三章看到3.3.22004.11.1《windows程序设计》第一章、第二章、第三章、第六章

野猫网络 1290

UE4逆向实战:如何快速定位UWorld和GName的5种实用技巧(含版本差异分析)

本文详细介绍了UE4逆向工程中快速定位UWorld和GName的5种实用技巧,包括特征码定位法、动态行为分析法、静态符号分析法等,并针对不同版本差异提供了适配方案。特别强调了UWorld作为游戏世界核心容器和GName作为名称管理系统的重要性,帮助开发者高效进行游戏逆向分析。

star的博客 895

龙芯3A5000开发板PMON升级UEFI固件实战指南

固件是计算机硬件与操作系统之间的关键桥梁,负责初始化硬件并引导系统启动。其工作原理是在上电后执行自检、加载引导程序,最终将控制权移交操作系统。在国产化平台中,采用标准化的UEFI固件具有重要技术价值,它能提供图形化配置界面、统一硬件驱动模型,并支持安全启动等现代特性,从而显著提升硬件兼容性与系统管理效率。这一技术广泛应用于PC、服务器及嵌入式设备,尤其在需要运行银河麒麟等主流操作系统的龙芯开发板场景中,将传统PMON固件升级至UEFI,能实现更流畅的系统安装与更稳定的运行体验。本文基于固件升级与UEFI引导

weixin_42664597的博客 562

在线版的《Windows程序设计》

既然《Windows程序设计》有CHM版的,就自然有网页版的了。找呀找,GOOGLE到一个在线的《Windows程序设计》,不敢独享,地址如下:http://www.ai86.cn/book/windows_programming/以后就可以同时给出笔记的原文链接了! 

足兆叉虫的BLOG 1395

利用arpspoof + sslStrip尝试进行arp欺骗

利用arpspoof + sslStrip尝试进行arp欺骗

qq_63575829的博客 352

《MFC Windows 程序设计》

一年没有做VC相关的项目了,很多东西记不清楚了,买了这本《MFC Windows 程序设计》,打算用1个月的时间系统的复习一下,期间会写一些学习笔记

唐昊的专栏 1571

《哥谭神话-工程篇》01.Palantir 平台架构解析-混乱数据如何转化唯一真相源?

Palantir 平台的架构哲学可以概括为将洞察落地为行动,其核心是将“获取唯一真相”能力深度嵌入现有的、复杂的工作流程中,成为提升运营效率和决策质量的倍增器。

897

MATLAB代码实现了船舶航线优化的功能,使用混合遗传算法(结合模拟退火算法)来寻找从大连港到格拉斯通港的最优航线,同时考虑了船舶的参数、气象数据(风速、风向、有效波高、波浪阻力系数等)对航行的影响

这段MATLAB代码主要实现了船舶航线优化的功能,使用混合遗传算法(结合模拟退火算法)来寻找从大连港到格拉斯通港的最优航线,同时考虑了船舶的参数、气象数据(风速、风向、有效波高、波浪阻力系数等)对航行的影响。通过以上步骤,该代码能够找到一条在考虑船舶性能和气象条件下,从大连港到格拉斯通港的较优航线,最小化燃油消耗和航行时间的加权和。

AI的内部世界的博客 513

《Windows程序设计》读书笔记之

最近有幸拜读了Charles Petzold的大作《Windows程序设计》,真有种相见恨晚的感觉。这是一本1999年出版、主要讲述在Windows平台下如何使用C语言调用API函数进行软件开发的老书。在当今RAD工具充斥市场的今天,该书依然是新手从事Windows下软件开发入门的不二之选。本人从事Windows平台软件开发已近三年,Windows相关的书籍和文档也阅读过不少,直到接触该书之后,好

1013

Qt之自定义QToolTip,去掉显示动画和隐藏延时

先来看看Qt原生QToolTip的缺点:1.当提示内容无变化时,弹窗无法移动。只能先传个空字符串强制弹窗隐藏,然后在新位置再传个字符串。2.默认显示10多秒才消失,当然这个时间是可以设置的,但是如果我想一直显示呢?总不能设置一个超级大的时间吧。3.鼠标移出控件后(调用QToolTip::showText时传入了控件指针)默认300毫秒弹窗才隐藏。而且这个时间没法设置,如果想立即隐藏就没办法了。

草上爬的博客 4268

《Windows程序设计》之数字时钟

void DisplayDigit(HDC hdc,int iNumber) { //这个数组是根据所要显示的数字来判断显示7个六边形是的哪几个 static BOOL fSevenSegment[10][7]={ 1,1,1,0,1,1,1,//0 0,0,1,0,0,1,0,//1 1,0,1,1,1,0,1,//2 1,0,1,1,0,1,1,//

倒计时 4465

DeepSeek与YOLO融合技术的微信小程序实现方案

本文介绍了一个基于微信小程序和Flask后端的智能图像检测系统。系统采用DeepSeek-7B进行自然语言理解,YOLOv8执行目标检测,并通过融合验证模块确保结果准确性。核心流程包括:用户通过小程序上传图片和文本需求,后端解析意图后执行目标检测,最后验证并返回结果。关键技术包括DeepSeek的指令理解、动态阈值调整和模型优化(ONNX、TensorRT)。系统适用于工业质检等场景,如"检测表面划痕",能自动识别目标并验证结果。部署需GPU服务器,并包含安全机制保障系统稳定运行。

老郑的博客 273

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Windows程序设计第六版资源下载介绍

Windows程序设计第六版资源下载介绍 【下载地址】Windows程序设计第六版资源下载介绍 探索Windows开发的精髓,尽在《Windows程序设计第六版》资源宝库!这本经典著作是Windows开发领域的权威指南,全面覆盖Windows 8应用程序开发的方方面面。从用户界面设计到网络通信,从文件存储到安全隐私,书中...

gitblog_06729的博客 298

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Windows网络与通信程序设计

Windows网络与通信程序设计 【下载地址】Windows网络与通信程序设计 《Windows网络与通信程序设计》是一本深入探讨Windows平台下网络通信编程的经典书籍,由王艳平编著。书中详细介绍了Windows环境下的网络通信开发技巧与方法,内容涵盖广泛,实用性强。无论您是初学者还是有一定经验的开发者,都能从中获得...

gitblog_06711的博客 298

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

WINDOWS程序设计第五版资源集

WINDOWS程序设计第五版资源集 【下载地址】WINDOWS程序设计第五版资源集 探索WINDOWS程序设计的经典之作,《WINDOWS程序设计第五版》资源集为你提供全面的学习支持。包含中英文CHM文件、中文PDF及源码,无论你是初学者还是进阶开发者,都能从中受益。Charles Petzold的权威指南深入浅出,从基...

gitblog_06742的博客 503

Windows程序设计之基本介绍

window程序设计是计算机专业学生的基本技能,也是计算机专业必须掌握的基本技术。其主要内容包括:SDK程序设计、MFC程序设计及ODBC数据库应用程序设计、windows核心编程。 SDK程序设计包括: windows图形界面基础,主要是windows图形界面应用程序的结构以及windows消息响应机制。 GDI绘图,主要是windows设备上下文及绘图。 windows的消息处理,包括键盘消...

跑得动就不要歇着 3490

《Windows程序设计》(第五版)勘误表

《Windows程序设计》一书,虽然被奉为Windows程序设计领域的经典,但在制作上却很不及格。我只看了上册(什么时候看的已经记不清了,大概是2002年的时候),现在把我认为有错误的地方罗列如下:第61页倒数第二行,第一个DestroyWindow应改为DefWindowProc第76页图中的tmExternalLeading应改为tmInternalLeading第78页第一个文字

mlite的专栏 2991

Windows程序设计PDF经典电子书推荐与学习指南

寻找优质的Windows程序设计PDF资源,是许多开发者踏入Windows平台开发的第一步。这类资料不仅能系统性地介绍Win32 API、消息机制、图形界面等核心概念

2509_93883384的博客 296

学习《windows网络与通信程序设计》一

<br />这本书大概翻了一下。以后更新读后感。

qiqll的专栏 639

关于如何学习windows程序设计

    之前想看完了《windows程序设计》第五版之后再来学,但是觉得过程需要的太久了。现在想先看看《MFC windows程序设计》,边看边做,争取快些入门。不知道行不行。

kelefer的专栏 413

关于windows程序设计的心得体会

              Windows程序设计心得体会////////////////////////////////////小序:     大家好,我叫竹本陈,“竹本”就是“笨”的意思,我的女朋友经常这样叫我,久而久之也就真的笨了(嘿嘿,可千万不要让你的女朋友这样叫你呀!)     学了这忙长时间windows程序设计(其实也不长),不免有一些想法,总想写出来给大家“道姑道姑”(东北话,

竹本陈的专栏 3366

windows程序设计 读书笔记一

    近日闲来无事,有一小小创意,待打开VC6.0,竟灵感全无,无从下手,手生如斯耳,两年来俗物缠身,毫无长进,痛何如哉,遂拾起一书> Charles Petzold 著,欲详加阅读阅读,但求恢复功力,以求精进。     读此书前,先将作者生平介绍如下(学生多年养成的习惯):Charles Petzold   【个人简介】   Charles Petzold 是Windo

snow_river的专栏 599
上一篇: 2015年终总结
下一篇: iOS开发之基础控件(Swift版)
Skinny Camel
博客等级 码龄15年 71粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值