美文网首页Swift 从入门到放弃
swift5 基本语法-从Hello, World开始

swift5 基本语法-从Hello, World开始

作者: 翀鹰精灵 | 来源:发表于2021-01-02 22:46 被阅读0次
swift开源地址
01.png

现在我们新建一个swift 5Command Line Tool 命令行项目,发现main入口类只有一个 print("Hello, World!")

02.png

虽然这里没有main函数,是系统帮我们生成了,swift底层的入口还是main函数,swift将全局范围内的首句可执行代码作为程序入口。所以此时执行控制台会输出Hello, World!

基本语法

1.变量\常量的定义
用var定义变量 , let定义常量,编译器自动推断出变量\常量的具体类型;


let a = 10
let b = 20
var c = a + b;
print("输出结果: a= \(a) b=\(b) c=\(c)")

小结:
①【常量】只能赋值1次,不要求在编译时期确定,使用之前赋值一次。

let age : Int
age = 10;
func getAge() ->Int {
   return 100;
}
let age = getAge();
print(age);

②常量、变量在初始化之前,都不能使用;

03.png

2.常见数据类型

04.jpg
struct Season {
   var spring : String
   var summer : String
   var autumn : String
   var winter : String
}

小结:
结构体类型可以直接调用属性,Int32.max , Int32.min 。 功能更多,更强大。

3.if else

let age = 5
if age >= 7 {
   print("go to school")
} else if age >= 18 {
   print("being a audlt");
} else if age >= 25 {
   print("get married")
} else {
   print("I'am a child")
}

小结:
① if 后面只能是bool类型
② if 后面的条件可以省略小括号,但是花括号不可以省略。

4. switch
(1).数值类型比较

var number = 1
switch number {
case 1:
   print("number is 1")
case 2:
   print("number is 2")
case 3:
   print("number is 3")
default:
   print("devil number")
}

(2).字符串类型比较

var number = "1"
switch number {
case "1":
   print("number is 1")
   break
case "2":
   print("number is 2")
   break
case "3":
   print("number is 3")
   break
default:
   print("devil number")
   break
}

小结:
① case、default后面不能写花括号{ };
② default 不是必须的,如果能保证已处理所有情况,比如枚举类型,可以省略default;
③ break默认可以省略不写,不会贯穿到后面的条件;
④ fallthrough可以实现贯穿效果,但只能贯穿一个case;

5. for循环
(1)闭区间运算符 a...b ,a<=取值 <=b
for ... in

let array = ["test01","test02","test03","test04"]
for i in 0...3 {
   print("输出结果:",array[i])
}

let list = [1,2,3,4];
for idx in list {
   print("idx =\(idx)");
}

let dict = ["a":1,"b":2,"c":3];
for (key,value) in dict {
   print("key: \(key) value : \(value) ");
}

小结:
这种for 循环已经被废弃了

05.png

swift5 基本语法学习记录在这里,方便日后查阅。

相关文章

网友评论

    本文标题:swift5 基本语法-从Hello, World开始

    本文链接:https://www.haomeiwen.com/subject/ddleoktx.html