Swift 学习笔记第一天-变量常量,及数据类型

1.定义变量

用关键字 var

比如 var i=2

2.定义常量用let

如let c=3

可见Swift 定义时不用指定类型。由编译器推断

如果想指定类型

var i:Int32=2

练习

let apples=3

var h:Int32=32

h=32

let cs="i love
\(apples +
h)as"

cs 得结果

会发现程序报错。a

could not find member ‘‘convertfromstringInterpolationSegment"

由此可见Swift
 会将默认将类型推断为双精度

正确程序为

let apples:Int32=3

var h:Int32=32

h=32

let cs="i love \(apples + h)as"

2 .定义数组

var
shoppingList=["haha","as",3,32.00]

可见数组中得元素类型可以不同。

将数组元素赋给定义得一个变量

var s=
shoppingList[0]


会发现报错
错误如下
prefix /postfix=is reserved
这个错误我开始以后是var只能定义值类型得原因
google才发现很有意思得一个错误






2down voteaccepted

Add a space after the =. (=[ looks
too sad to be an operator.) It‘s probably
seeing =value as a use of a (possible, but not
implemented) prefix operator.

Swift isn‘t entirely whitespace-agnostic like C... in particular, it
uses whitespace to distinguish prefix from postfix operators
(because ++i++ in C is a grammar oddity). But it‘s
not ridiculously strict about whitespace like Python either.

=号前后空格是有一侧存在得是保留运算附

修改为

var
s:String=shoppingList[0]

会发现报错

anyObject is not
 转换成string

可见数组是指针引用类型

正确写法是

var
s:String=shoppingList[0]
asNSString

定义字典

var occupations=[

"Malcolm":
"Captain",

"Kaylee":
"Mechanic",

]

occupations["Jayne"] = "Public
Relations"

把字典中value得类型变化下

var occupations=[

"Malcolm":
"Captain",

"Kaylee":
2,

]

occupations["Jayne"] = "Public
Relations"

会发现报错

时间: 2024-10-24 11:32:50

Swift 学习笔记第一天-变量常量,及数据类型的相关文章

Swift学习笔记(二)——常量与变量

这篇博客将会学习到Swift中的常量Constants和变量Variable.这是学习语言的基础.其中可以看到Swift每句后面基本都是没有:分号的,如果有加:分号的习惯,也可以加上. (1)常量声明:Swift将会使用关键字let来声明一个常量.定义常量之后不能再进行修改,否则会报错. let maxNum = 100 maxNum = 200   //这里会报错,常量值不能进行修改: (2)变量声明:Swift将会使用关键字var来声明一个变量,变量的值可以改变. var minNum =

Swift学习笔记(4)--字符串及基本使用

String是例如"hello, world","海贼王" 这样的有序的Character(字符)类型的值的集合,通过String类型来表示. Swift 的String类型与 Foundation NSString类进行了无缝桥接.如果您利用 Cocoa 或 Cocoa Touch 中的 Foundation 框架进行工作.所有NSString API 都可以调用您创建的任意String类型的值.除此之外,还可以使用本章介绍的String特性.您也可以在任意要求传

Swift学习笔记七:闭包

闭包可以 捕获 和存储其所在上下文中任意常量和变量的引用. Swift 会为您管理在 捕获 过程中涉及到的内存操作. 在 函数 章节中介绍的全局和嵌套函数实际上也是特殊的闭包,闭包采取如下三种形式之一: 1. 全局函数是一个有名字但不会捕获任何值的闭包 2. 嵌套函数是一个有名字并可以捕获其封闭函数域内值的闭包 3. 闭包表达式是一个可以捕获其上下文中变量或常量值的没有名字的闭包 一.闭包表达式 闭包函数类似于Objective-C中的block.下面我们用事实说话: let counts =

Swift学习笔记(11)--类与结构体

类与结构是编程人员在代码中会经常用到的代码块.在类与结构中可以像定义常量,变量和函数一样,定义相关的属性和方法以此来实现各种功能. 和其它的编程语言不太相同的是,Swift不需要单独创建接口或者实现文件来使用类或者结构.Swift中的类或者结构可以在单文件中直接定义,一旦定义完成后,就能够被直接其它代码使用. 注意:一个类的实例一般被视作一个对象,但是在Swift中,类与结构更像是一个函数方法,在后续的章节中更多地是讲述类和结构的功能性. 1.类和结构的异同 类和结构有一些相似的地方,它们都可以

Swift学习笔记 - 可选 ?

可选类型 使用可选类型(optionals)来处理值可能缺失的情况.可选类型表示: 有值,等于 x 或者 没有值 注意:C 和 Objective-C 中并没有可选类型这个概念.最接近的是 Objective-C 中的一个特性,一个方法要不返回一个对象要不返回nil,nil表示“缺少一个合法的对象”.然而,这只对对象起作用——对于结构体,基本的 C 类型或者枚举类型不起作用.对于这些类型,Objective-C 方法一般会返回一个特殊值(比如NSNotFound)来暗示值缺失.这种方法假设方法的

SWIFT学习笔记05

1.Swift 无需写break,所以不会发生这种贯穿(fallthrough)的情况.2.//用不到变量名,可用"_"替换 for _ in 1...power { answer *= base } 3.case 可以匹配更多的类型模式,包括区间匹配(range matching),元组(tuple)和特定类型的描述. 可以这样用case case 1...3: naturalCount = "a few" 4.如果存在多个匹配,那么只会执行第一个被匹配到的 ca

swift学习笔记(三)关于拷贝和引用

在swift提供的基本数据类型中,包括Int ,Float,Double,String,Enumeration,Structure,Dictionary都属于值拷贝类型. 闭包和函数同属引用类型 捕获则为拷贝.捕获即定义这些常量和变量的原作用域已不存在,闭包仍然可以在闭包函数体内引用和修改这些值 class属于引用类型. Array的情况稍微复杂一些,下面主要对集合类型进行分析: 一.关于Dictionary:无论何时将一个字典实例赋给一个常量,或者传递给一个函数方法时,在赋值或调用发生时,都会

Swift学习笔记(二)参数类型

关于参数类型,在以前的编程过程中,很多时间都忽视了形参与实参的区别.通过这两天的学习,算是捡回了漏掉的知识. 在swift中,参数有形参和实参之分,形参即只能在函数内部调用的参数,默认是不能修改的,如果想要修改就需要在参数前添加var声明. 但这样的声明过后,仍旧不会改变实参的值,这样就要用到inout了,传递给inout的参数类型必须是var类型的,不能是let类型或者字面类型,(字面类型是在swift中常提的一个术语,个人认为就是赋值语句,也不能修改)而且在传递过程中,要用传值符号"&

Swift学习笔记十:属性

1.存储属性       1. 作为特定类或结构实例的一部分,存储属性存储着常量或者变量的值.存储属性可分为变量存储属性(关键字var描述)和常量存储属性(关键字let描述). struct student{ let name = "" var score = 0 } let a = student(name:"小笨狼",score:96)           注意:                ① 定义储存属性时,需要为每一个属性定义一个默认值.在初始化的时候,