Kotlin 随笔小计

时间:2022-11-07 00:19:23

最近准备学Kotlin

现在Kotlin也能支持IOS开发了,准备后面买个Mac也能进行IOS开发

当然目标还是看着能不能把一些小的Android项目重构下

也算是定个目标吧,由于沉迷吃鸡,日志都没怎么写了%>_<%

先弄明白

  • 变量,常量,等
  • 函数
  • 数据结构(如果有)
  • 关键字或者运算符,Kotlin中特有的关键字

变量,常量:

    val a:int = 10

    我感觉:val 变量关键字 + 变量名 + :(继承符号吧) + 变量类型关键 + = 赋值

    对于数值比较大的数字,可以用 _  隔开,以方便使用

函数 :

     控制流,控制语句;

    if ,when,for,while语句;

    for可以循环遍历任何提供了迭代器的对象;

关键字:? 问号表示可空值  

    is 运算符检测一个表达式是否某类型的一个实例。判断某个变量是否是某个类型。

    in 一般是判断某实例是否包含在某个集合或数组内;准确的是 使用 in 运算符来检测某个数字是否在指定区间内:

    .. 两个点表示从左边的角标到右边的角标的范围

    . 一个点有点像C++还是表示在 使用类中的方法或者引用某个常量

    fun 函数表示

    val 变量声明

    $  字符串的模板 关键字 字符串可以包含模板表达式 ,即一些小段代码,会求值并把结果合并到字符串中。 模板表达式以美元符($)开头,由一个简单的名字构成。如 s 是一个数组 然后$s.length 打印出来就是 s.length

,然而${s.length}则 打印出来就是s的长度,即他需要由花括号括起来。

类 :类的关键字 class

  field 类中属性访问器的关键字,在类初始化的时候使用,但是这个get() set()函数可以不用写出来

  constructor 构造函数 关键字声明

  inner 嵌套内部类关键字,使用方法 inner class Person{}

  open 类可以继承,默认类是final的,也就是说你必须在类前面写了open 才能继承这个类

  : 继承关键字,有点像C++的继承,不是有点像,好像用的关键符号就是一样的;

    函数最后面返回值也用这个符号以告诉函数这后面是返回值

  :: 通俗点讲就是把一个方法当参数,传递到另一个方法中使用,就是引用一个方法。

  


  Kotlin中的静态方法以及匿名内部类用法

  companion ,object  这两个要连起来一起说,因为经常一起使用,kotlin里面没有匿名内部类,而且companion只有这一个用法

  如下是Kotlin官方文档的用法

class MyClass {
companion object Factory {
fun create(): MyClass = MyClass()
}
}
// 使用
var instance = MyClass.create()
// 也可以使用下面的方法来调用
// 由于Factory定义后不可修改,故使用val变量来存放
val factory = MyClass.Factory
var instance = factory.create()

  下面再上一段java转的kotlin方法看一下,方便比较下用法以及变化

class TestActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
context = this
MainActivity.startAcitivityForResult(this)
} companion object {
private var context: Context? = null fun getText() {
Toast.makeText(context, "ppppp", Toast.LENGTH_SHORT).show()
} fun setTest() {
val builder = AlertDialog.Builder(context)
builder.setTitle("PPP")
builder.setMessage("qianer")
builder.setPositiveButton("ok") { dialog, which -> Log.v("Dialog_CLick", "click") }
builder.create()
builder.show()
}
}
}

其中Companion object里面的 getText和 setText都为静态方法,所以转化后都变为Companion object内的方法


Kotlin 随笔小计的更多相关文章

  1. MVC&plus;EF 随笔小计——NuGet程序包管理

    安装EF 打开 工具-库程序包管理器-程序包管理器控制台 输入 install-package entityframework 去MSDN上查看下EF的架构图:http://msdn.microsof ...

  2. MVC&plus;EF 随笔小计——分部视图(Partial View)及Html&period;Partial和Html&period;Action差异

    Partial View指可以应用于View中以作为其中一部分的View的片段(类似于之前的user control), 可以像类一样,编写一次, 然后在其他View中被反复使用. 一般放在&quot ...

  3. MVC&plus;EF 随笔小计————Html Helpers

    理论基础 -- Html Helpers 主要分成输入类和显示类. 输入类: TextArea, TextBox Password Hidden DropDownList ListBox (与Drop ...

  4. unicode随笔小计

    科普字符集: ascii:一个字节,占8位,(0000 0000 - 1111 1111) 如果只是英语那就没什么问题. 后来,不同的语言有了编码诞生.为了统一,出现一个大集合.便有了. unicod ...

  5. scss的初级学习随笔小计

    $white: #fff;$three: #333;$six: #666;$nine: #999;$red: #fff;$orange: #f63;$yellow: #fc0;$opcity: rgb ...

  6. SQLSERVER 使用 ROLLUP 汇总数据,实现分组统计,合计,小计

    表结构: CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, [Sex] [int] NOT NULL, ) NULL, ) NULL, , ) N ...

  7. PB gird类型数据窗口 设置分组、分组小计、合计

    今天遇到一个需求,gird表格数据如下:  部门  类型 数据   A  类型1  1  A  类型2  2  B  类型1  3  B  类型2  4   合计 10 实际需要显示的结果为:  部门 ...

  8. 简单的angular购物车商品小计

    <!DOCTYPE html> <html lang="en" ng-app="shopApp"> <head> <m ...

  9. C&num;给DataTable添加序号、C&num;给DataTable添加合计、小计

    /// <summary>        /// 给DataTable添加序号        /// </summary>        /// <param name= ...

随机推荐

  1. C&plus;&plus;如何调用C&num;开发的dll

    序言 本文介绍一个C++如何调用C#开发的dll实例. 前言 C++编写的程序为非托管代码,C#编写的程序为托管代码.托管代码虽然提供了其他开发平台没有的许多优势,但由于前期系统及历史版本很多使用的是 ...

  2. Hbase&plus; Phoenix搭建教程

    Hbase+ Phoenix搭建教程 一.Hbase简介 HBase是基于列存储.构建在HDFS上的分布式存储系统,其主要功能是存储海量结构化数据. HBase构建在HDFS之上,因此HBase也是通 ...

  3. 怎样将多个CSS文件导入一个CSS文件中

    问题: 在HTML中引入css的其中的两个方法:    导入式和链接式的目的都是将一个独立的css文件引入一个文件中,二者的区别不大,事实上,二者最大的区别在于链接式使用html的标记引入外部css文 ...

  4. Windows Azure HDInsight 使用技巧

    Windows Azure HDInsight是一个面向大数据的PaaS服务,是PaaS版本的Hadoop.HDInsight是微软与Hortonworks合作的产物.可以理解为Hortonworks ...

  5. Python之路【第十二篇】前端之js&amp&semi;dome&amp&semi;jQuery

    JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果.通常JavaScript脚本是通过嵌入在HTML中来实现 ...

  6. VMware安装CentOS后网络设置

    在使用CentOS虚拟机后,出现了无法上网的情况,使用主机ping虚机地址可以ping通,而虚机ping不通主机,同时虚机也无法ping通其他的网址或ip,显示内容为Network is unreac ...

  7. epoll函数及三种I&sol;O复用函数的对比

    epoll函数 #include <sys/epoll.h>int epoll_create(int size)int epoll_ctl(int epfd, int op, int fd ...

  8. MapReduce源代码浅析

    Thanks @读程序的手艺人 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVvemhhbmZlbmc=/font/5a6L5L2T/fontsize ...

  9. 设计模式之UML类图

    在学设计模式的过程中经常碰到各式各样的UML类图.那些眼花缭乱的符号有什么含义呢? 类图含义 类图中的关系 从网上找来一张图作为实例 依赖关系:比如动物依赖氧气和水,这里如学生要依赖自行车.用虚线箭头 ...

  10. dapper&period;simplecurd

    [Table("Users")]//真实表名 publicclass User { [Key] publicint UserId { get; set; } [Column(&qu ...