大佬教程收集整理的这篇文章主要介绍了Kotlin 就像Swift ?看看 Kotlin 与 Swift,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一位国外的程序员认为 Swift 的语法与 Kotlin 相似,并整理了一些 Swift 和 Kotlin 的对比,下面是一些例子,大家不妨也看看。
BASICS
Hello World
Swift
print("Hello, world!")
Kotlin
println("Hello, world!")
变量和常量
var @H_987_72@myVariable = 42
@H_85_82@myVariable = 50
let @H_85_82@myConstant 42
50
val @H_85_82@myConstant 显式类型
let explicitDouble: Double = 70
val explicitDouble: Double = 70.0
强制类型转换
let label = "The width is "
let width 94
let widthLabel = label + String(width)
val label "The width is "
val width 94
val widthLabel + width
字符串插值
let apples 3
let oranges 5
let fruitSumMary = "I have (apples + oranges) " +
val apples 3
val oranges 5
val fruitSumMary "I have ${apples + oranges} " 范围操作符
let names = ["Anna", "Alex""Brian""Jack"] let count names.count for i in 0..
val names = arrayOf() val count .count() for (i in 0..count - 1) { println("Person ${i + 1} is called ${names[i]}") } // Person 1 is called Anna // Person 2 is called Alex // Person 3 is called Brian // Person 4 is called Jack 包罗广泛的范围操作符(Inclusive Range Operator)
for index in 1...5 { print"(indeX) times 5 is (index * 5)"// 1 times 5 is 5
// 2 times 5 is 10 // 3 times 5 is 15 // 4 times 5 is 20 // 5 times 5 is 25
for (index in 1..5) "$index times 5 is ${index * 5}"数组
var
shoppingList[] "bottle of water"
val shoppingList ) 映射
var "Malcolm": "Captain""Kaylee""Mechanic"]
Occupations["Jayne""Public relations"
val Occupations = @H_453_342@mutableMapOf( "Malcolm" to "Kaylee" to "Mechanic" ) 空集合
let emptyArray [String]() let emptyDictionary = [String: Float]()
val emptyArray () @H_534_673@FUNCTIONS
func greet(_ name: _ day) -> String {
return "Hello (Name), today is (day)."
}
greet"Bob""Tuesday"
fun greet()"Hello $name, today is $day." 元组返回
func getGasPrices() -> (Double{ return 3.593.693.79}
data class GasPrices(val aval b val cDouble)
fun getGasPrices() = GasPrices参数的变量数目(Variable number Of Arguments)
func sumOfnumbersInt...) Int { var sum 0 sum += number } return sum } sumOf4259712
fun sumOf(vararg 0 // sumOf() can also be written in a shorter way: fun sumOf(vararg numbersInt) .sum函数类型
return 1 + number } return addOne } let increment = @H_258_317@makeIncrementer() increment7
val addOne = fun)}
val increment // makeIncrementer can also be written in a shorter way:
listOf(1, 5, 3, 12, 2).sorted() 命名参数
func areawidthheight{ return width * height } areawidth: 2height3
fun area= width * height area(width height // This is also possible with NAMEd arguments
area) area(height width CLASSES 声明 class func simpleDescriptionString { return "A shape with (numberOfSides) sides." } 0 fun simpleDescription= "A shape with $numberOfSides sides." var
shape.numberOfSides 7
var shapeDescription .simpleDescription子类
class
let nameString
init{
}
func simpleDescription}
class Square: NamedShape sideLengthDouble init.sideLength = sideLength } func areaDouble { return sideLength * sideLength } override func simpleDescription"A square with sides of length " + }
let test = Square5.2"square"test.area
open class NamedShape0 open fun simpleDescriptionclass Square(Bigdecimal: NamedShape{ init { numberOfSides } fun areasideLength.pow) override fun simpleDescription"A square with sides of length $sideLength." } val test (Bigdecimal"5.2"),66); Box-sizing: border-Box !important; word-wrap: break-word !important;">类型检查
var
var songCount 0 for item in library { @H_85_82@movieCount += 1
} else if item is Song {
for (item in library{
++@H_85_82@movieCount
} else if Song++songCount
模式匹配
let nb 42 switch nb { case 0...789: print"single digit") case 10"double digits"11...99100...999"triple digits") default"four or more digits"
val nb 42 when nb{ in 0..79 -> println) 10 ) in 11..99 100..999 ) else 类型向下转换
print"Movie: '(movie.Name)', " + (current in someObjects(current is { println"Movie: '${Current.namE}',224) !important;"> "dir. ${Current.director}"协议
protocol Nameable { func nameString } func fxT"Name is " x.name()) interface Nameable { fun name()}
fun f扩展
extension Double km{ return self * 1_000.0 }
let oneInch 25.4.mm print"One inch is (oneInch) meters") // prints "One inch is 0.0254 meters" let threeFeet 3.ft print"Three feet is (threeFeet) meters"// prints "Three feet is 0.914399970739201 meters"
val .kmDouble get= this * 1000 val .Double get= this val = this 100 val @H_307_2331@3.28084 val oneInch 25.4.mm println"One inch is $oneInch meters"// prints "One inch is 0.0254 meters"
val threeFeet 3.0.ft println"Three feet is $threeFeet meters"// prints "Three feet is 0.914399970739201 meters"
@H_607_2407@ Java编程 更多推荐《15个技术类公众微信》 涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。
以上是大佬教程为你收集整理的Kotlin 就像Swift ?看看 Kotlin 与 Swift全部内容,希望文章能够帮你解决Kotlin 就像Swift ?看看 Kotlin 与 Swift所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。