Kotlin学习之路 一

 

 

kotlin已经出现了好长一段时间了,但是一直没有机会去系统的学习,现在有机会去摸索一下了。从创建项目开始吧!

我使用的是AndroidStudio 2.3.2版本的从支持kotlin插件开始。AndroidStudio3.0之上的自带kotlin插件了,就不做多说了。

首先,选择File-Settings-Plugins 在搜索框输入Kotlin 点击Browse repositories 选择Kotlin选项。

下载完按提示重启IDE就好了。

由于是Android Studio2.3.2 没有直接可以创建Kotlin的方式(我没找到。。。)我们可以先正常创建java工程

按Ctrl+shift+a 打开搜索框 输入convert java file to Kotlin File可以将java工程转换成Kotlin工程

之后我对比了一下工程,可能是由于IDE版本原因,而且是创建的java工程转成Kotlin工程的,项目目录并没有什么大的变化。

只不过是将原来的.java文件变成了.kt文件

我们在创建文件的时候,会发现多了几个选项

它可以直接创建Kotlin文件了,甚至可以直接创建Kotlin类型的Activity了。

Kotlin代码

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

Java代码

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

对比一下,发现基本上差不太多。Kotlin没有Java语法那么严谨, Kotlin可以不使用修饰符public,将继承关键字extends替换成了 :。

以下内容是在菜鸟教程上学习的,点击这里传送门

函数定义使用关键字 fun,参数格式为:参数 : 类型

Kotlin函数带返回值类型 改函数返回Int类型

fun sum(a: Int, b: Int): Int {   // Int 参数,返回值 Int
    return a + b
}

表达式作为函数体,返回类型自动推断:

fun sum(a: Int, b: Int) = a + b

public fun sum(a: Int, b: Int): Int = a + b   // public 方法则必须明确写出返回类型

无返回值的函数,使用Unit关键字

fun printSum(a: Int, b: Int): Unit { 
    print(a + b)
}

如果无返回值,Unit关键字可省略,如上方onCreate函数

public fun printSum(a: Int, b: Int) { 
    print(a + b)
}

我们看到Kotlin的MainActivity中的onCreate方法的参数

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

savedInstanceState: Bundle?

可以看到,它的参数类型后面加了一个?问号。类型后面加?表示可为空

NULL检查机制

Kotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理,有两种处理方式,字段后加!!像Java一样抛出空异常,另一种字段后加?可不做处理返回值为 null或配合?:做空判断处理

//类型后面加?表示可为空
var age: String? = "23" 
//抛出空指针异常
val ages = age!!.toInt()
//不做处理返回 null
val ages1 = age?.toInt()
//age为空返回-1
val ages2 = age?.toInt() ?: -1

目前就分析到这里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值