[Day03] swift & kotlin 入门篇!(1) 基础语法-变数与常数宣告

章节说明

在开始写APP之前
我们需要先对 Swift&Kotlin 的语法有基本上的认知
先练会使用工具 才能使用工具打造产品喔~

接下来的章节内容
我们会假设你已有基本的程序语言概念
如果遇到你看不懂的名词
再请留言或自己Google查资料

练习环境

为了快速方便的上手
熟悉基本语法阶段 我们使用 Only Playground

语言 网址
swift http://online.swiftplayground.run/
Kotlin https://play.kotlinlang.org/

以上两个环境都在输入完程序後
点选播放箭头就可以执行了

Swift-变数与常数宣告

var swiftVariable = 10 // 宣告一个变数 swiftVariable 数值 10
print(swiftVariable) // 印出 swiftVariable 到控制台
swiftVariable = 20 // 将 swiftVariable 变更成 20

let swiftConstant = 30 // 宣告一个常数 swiftConstant 数值 30
// swiftConstant = 44 let定义常数 无法修改 如果执行这段 会编译错误
print(swiftVariable)
print(swiftConstant)

-------- 控制台 输出内容 ------------
10
20
30

以上范例是自动判断类别
专有名词叫隐式类别

接下来示范显式类别

var swiftVariable: Int = 10
print(swiftVariable)
swiftVariable = 20

let swiftConstant: Int = 30
// swiftConstant = 44 let定义常数 如果执行这段 会编译错误
print(swiftVariable)
print(swiftConstant)

-------- 控制台 输出内容 ------------
10
20
30

整个感觉很像前端在撰写 TypeScript
整个写法蛮亲切的
只是let在TypeScript是区域变数
在swift是常数使用

Kotlin-变数与常数宣告

fun main() {
    var kotlinVariable = 10
    println(kotlinVariable)
    kotlinVariable = 20

    val kotlinConstant = 30
    // kotlinConstant = 44 val定义常数 如果执行这段 会编译错误
    println(kotlinVariable)
    println(kotlinConstant)
}

-------- 控制台 输出内容 ------------
10
20
30

以上范例是自动判断类别
接下来示范显示类别

fun main() {
    var kotlinVariable: Int = 10
    println(kotlinVariable)
    kotlinVariable = 20

    val kotlinConstant: Int = 30
    // kotlinConstant = 44 val定义常数 如果执行这段 会编译错误
    println(kotlinVariable)
    println(kotlinConstant)
}

-------- 控制台 输出内容 ------------
10
20
30

是的你没看错
除了结构在Kotlin需要包一层main()外
语法只差在
Swift用let定义常数
Kotlin用val定义常数

Kotlin里面其实也有 const 做为常数定义
他有较深入使用情境 有兴趣的自己去爬文
这边就不特别说明

就这样喔~

语法补充说明1 - print

Kotlin的print有分

println("会换行的输出")  
print("不换行的输出")

Swift的print预设就是换行输出
如果你特别不想换行!
需要这样处理

print("我不要换行!!", terminator: "")

语法补充说明2 - var val let

常常看到var val let
你知道他们分别代表什麽吗?
var(variable,即变数)
val(value,即固定值)

let 的出处就有趣了.....
他在JS的意义并不是常数而是区域变数
但到了Swift却变成常数宣告

let关键字出自早期语言(Scheme/Basic)
他表一种更深层的概念

可以赋值的变量,但没有改变

let更偏向数学用词 请自行想像

let x be arbitrary real number

小碎嘴时间 ヽ(゚´Д`)ノ゚

每次学一个新语言的时候
就开始困惑 为什麽都是程序
你们却要互相打脸?
同一个关键字 let const val ....
你们在不同地方就要不一样?????

不都是同一个妈生的吗?何苦为难对方?
java他妈也是电脑
swift他妈也是电脑啊
Kotlin他妈难道也不是电脑吗????

疑? 手机应该算电脑吧? 是吧....?
所以Android跟IOS算....夫妻还是兄妹?
(๑¯∀¯๑)


<<:  Day11 - 敏捷式接案实践( 三 ) - 时间管理

>>:  [CSS] Flex/Grid Layout Modules, part 6

Day 26 厚涂练习(2)

今天将上一次厚涂练习剩下的部分完成。 加深阴影 明暗交接线 添加阴影补色 细化 关於明暗交接线的部分...

[Day11] C#实作解密Response讯息内文(Message)

昨天我们利用service把计算sign的逻辑串接起来,今天继续来试试看,要如何取得永丰Api的re...

追求JS小姊姊系列 Day29 -- 方函式的能力展现:最後型态`async`

前情提要: 讲述完工具人的起源 方函式:终於到了最後一个能力async模式。 我:到现在都遇不到JS...

第二十七天:脱壳又称脱衣服?!

大家好我是Andy,今天来到了第二十七天,昨天讲述了加壳的技巧以及种种的工具,今天我们就来讲一下脱壳...

【D12】发现新厨具:Snapshot

前言 有个Snapshot的功能,可以看当下的商品状况,让我们看看这个功能可以做啥吧! 参考网站:S...