kotlin系列文章 --- 1.初识kotlin】的更多相关文章

简介 Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由Jetbrains设计开发,现在是Android官方开发语言,和Java具有互操作性,可以共存. 为什么选择kotlin? 简洁:大大减少样板代码的数量(个人认为与TypeScript十分相似,有点大一统的趋势..) 安全:避免空指针异常等整个类的错误. 互操作性:充分利用JVM.Android和浏览器的现有库 工具友好:可用任何 Java IDE 或者使用命令行构建. 第一个kotlin程序 最简版 package he…
函数 函数定义使用fun关键字,参数格式为:参数:类型,需要声明返回类型 fun sum(a:Int, b:Int): Int{ return a+b } 表达式作为函数体,返回值类型自动推断 fun sum(a:Int, b:Int) = a+b public fun sum(a:Int, b:Int): Int = a+b // public 方法则必须明确写出返回类型 fun printSum(a: Int, b: Int): Unit { println("sum of $a and $…
if表达式 一个if语句包含一个布尔表达式和一条或多条语句 // 基础用法 var max = a if (a<b) max = b // 加上else var max: Int if(a>b){ max = a }else{ max = b } // 作为表达式 val max = if(a>b) a else b when表达式 类似其他语言的switch操作,如下 when(x){ 1 -> print("x == 1") 2 -> print(&q…
按钮findViewBuId <Button android:id="@+id/mButton4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转" app:layout_constraintLeft_toLeftOf="parent" app:layout_constr…
Kotlin Tutorials系列文章 想写一个有实用价值的Kotlin笔记, 让一线开发一看就懂, 看完就能上手. 当然官方文档更有参考价值了. 这个系列相对于官方文档的大而全来说, 最主要优势是: 自己写的比较亲切(??). 有一些自己的思路和二次梳理. 可以作为一个侧面参考. 这个flag立了很久, 真正写起来也断断续续写了很久. 目前也算是到了一个节点吧. 在掘金, 简书和公众号每篇都有发. Github这个repo可以作为最终备份吧. 以后说不定还会有补充内容. KotlinTuto…
Kotlin系列之序列(Sequences)源码完全解析 2018年06月05日 22:04:50 mikyou 阅读数:179 标签: Kotlin序列(sequence)源码解析Androidjava 更多 个人分类: Kotlin   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013064109/article/details/80588034 简述: 好久没有发布原创文章,一如既往,今天开始Kotlin浅谈系列的第十讲,一起来探索…
用Java开发了很多年,因为工作的需要学习Kotlin.初识Kotlin时是各种不习惯,觉得这个语言相对于Java而言并不够严谨.随着不断的深入,最终还是逃不过"真香定理".我一直认为普通的技术使用者是没有太多的权利去评论一门技术语言的好坏.很多人只了解皮毛就开始对它进行过分的评论.所以大家不要被网上的一些信息所左右(像我这样单纯的程序员好像不多了).如果你有Java基础,上手Kotlin是非常的快,而且还会让你爱不释手. Hello World 国际惯例,我们分别用Java和Kotl…
[Kotlin]初识Kotlin(二) 1.Kotlin的流程控制 流程控制是一门语言中最重要的部分之一,从最经典的if...else...,到之后的switch,再到循环控制的for循环和while循环,都是在开发中离不开的. 之前在第一篇博文中提到了Kotlin中的for循环和foreach循环,从中可以看出Kotlin在这些流程处理中下了很大一片功夫,也进行了人性化的创新. 接下来我们就从最经典的if ... else ...来讲起! 1. if表达式 说起if,我们已经非常熟悉了.也许它…
[Kotlin]初识Kotlin之面向对象 1.类 在Kotlin中,类用关键字class来定义 如果一个类具有类体,那么需要使用{ }来写类体内容,如果不需要类体,那么只需要定义类名就可以了 // 定义一个alarmClock类 class AlarmClock { fun alarm() = println("叮铃铃...") } // 定义没有类体的alarm类 class Alarm 1. 类修饰符 final:不能被继承 open:可以被继承 abstract:抽象类 enu…
0 专辑概述 etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管.etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件. <彻底搞懂 etcd 系列文章>将会从 etcd 的基本功能实践.API 接口.实现原理.源码分析,以及实现中的踩坑经验等几方面具体展开介绍 etcd.预计会有 20 篇左右的文章,笔者将会每周持续更新,欢迎关注. 1 etcd 介绍 etcd 是 CoreOS 团队于 2013 年 6 月发…
统计角度窥视模型概念 作者:白宁超 2016年7月18日17:18:43 摘要:写本文的初衷源于基于HMM模型序列标注的一个实验,实验完成之后,迫切想知道采用的序列标注模型的好坏,有哪些指标可以度量.于是,就产生了对这一专题进度学习总结,这样也便于其他人参考,节约大家的时间.本文依旧旨在简明扼要梳理出模型评估核心指标,重点达到实用.本文布局如下:第一章采用统计学习角度介绍什么是学习模型以及如何选择,因为现今的自然语言处理方面大都采用概率统计完成的,事实证明这也比规则的方法好.第二章采用基于数据挖…
一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不能搞出一套比Linux还牛的Windows?可以肯定的回答:不能,因为生态. 这就是为什么“microsoft love linux”?这就是为什么Windows 10 中都有Linux子系统. 随着.net core的推出绝对不是让我们在Windows上玩的.特别是有工作经验的.net er,需要…
Python最新全套课程(8月中旬开的课),共四个月.所有课件,项目源码,课后习题和答案都包括在内. 包括:Python实战项目引入.Python基础.爬虫基础.爬虫库.Scrapy爬虫框架.动态页面渲染与Ajax抓取.分布式爬虫.破解反爬技术.APP数据抓取.大型综合项目实战. 本人也是刚开始学Python,买了这套课程,感觉老师讲得很好,适合入门学习. 如果有需要的同学可以速速联系我~~~ QQ: 微信:along401768282 目前课程正在上传云盘... ... Python从入门到精…
最近手头项目接触到了CodeDom,顺带着在这里做个系列文章,有兴趣的可以做个参考.   CodeDOM是个用于运行时生成代码,以及编译生成的代码的相关技术.我们通过构造CodeDOM这样的DOM树 来自动生成代码. 和反射都属于动态编程相关的技术.我们知道反射用的比较多的地方在于各种框架,在运行时创建实例以及相关操作.那CodeDOM有哪些用途呢? MSDN--- CodeDOM 的一些一般用途包括: 模板化代码生成:生成 ASP.NET.XML Web 服务客户端代理.代码向导.设计器或其他…
[合集]TiDB 源码阅读系列文章 (一)序 (二)初识 TiDB 源码 (三)SQL 的一生 (四)INSERT 语句概览 (五)TiDB SQL Parser 的实现 (六)Select 语句概览 (七)基于规则的优化 (八)基于代价的优化 (九)Hash Join (十)Chunk 和执行框架简介 (十一)Index Lookup Join (十二)统计信息(上) (十三)索引范围计算简介 (十四)统计信息(下) (十五) Sort Merge Join (十六)INSERT 语句详解 (…
MyBatis 框架系列之基础初识 1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设置参数.结果集检索等jdbc繁杂的过程代码. Mybatis 通过 xml 或注解的方式将要执行的各种 statement(statement.pr…
Bing Maps进阶系列一:初识Bing Maps地图服务 Bing Maps提供了一组WCF的地图服务,使用这些服务我们可以方便的在自己的应用系统里实现地理位置搜索等相关功能.他们分别是地理编码服务(GeocodeService).地理图像服务(ImageryService).路由功能服务(RouteService)和地理搜索服务(SearthService). 一.地理编码服务(GeocodeService) 地图编码服务提供了以一个有效的物理地址在地图上匹配其对应的地图地址(既地理经度和…
0 专辑概述 etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管.etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件. <彻底搞懂 etcd 系列文章>将会从 etcd 的基本功能实践.API 接口.实现原理.源码分析,以及实现中的踩坑经验等几方面具体展开介绍 etcd.预计会有 20 篇左右的文章,笔者将会每周持续更新,欢迎关注. 1 etcd 集群部署 在生产环境中,为了整个集群的高可用,etcd 正常都会…
0 专辑概述 etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管.etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件. <彻底搞懂 etcd 系列文章>将会从 etcd 的基本功能实践.API 接口.实现原理.源码分析,以及实现中的踩坑经验等几方面具体展开介绍 etcd.预计会有 20 篇左右的文章,笔者将会每周持续更新,欢迎关注. 1 etcd 安装与使用 在上一篇主要介绍了 etcd 的相关概念和使用场景,…
ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成:分享一个与ABP配套使用的代码生成器源码 ABP系列文章总目录: 1.ABP总体介绍  2.ASP.NET Boilerplate入门 3.ABP分层架构 4.ABP模块系统 5.ABP启动配置 6.ABP依赖注入 7.ABP Session管理8.ABP日志管理9.ABP设置管理10.ABP领域层…
这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程序开发•系列文章四]模块化 [微信小程序开发•系列文章五]主界面 [微信小程序开发•系列文章六]生命周期和路由 整个微信小程序从打开到关闭,整个过程可以分为很多阶段或者说状态,这一整段的过程,我们称之为小程序的生命周期.而周期中的每种不同的状态,到另一个状态的过度和转化,是需要一个触发机制的,这种机…
一.前言 在博客园写博客不自不觉已经有5个年头了,一开始只是为了记录工作中遇到的问题和解决办法,后来写的文章不自不觉的侧重在SQL Server方面的技术文章,在2014年1月终于鼓起勇气申请了微软SQL Server方面的最有价值专家(MVP),并荣幸的在4月份获得此殊荣. 今天整理了下文章,为了让大家更容易检索到(这里指人而不是所谓的SEO)我的文章,所以生成了一份SWF,以图形的方式,大家可以通过里面的链接快速进入文章,而且大家也可以下载这份SWF到本地,同样可以快速浏览. 二.SQL S…
本文存放了我在博客园中撰写的Geotrellis系列文章链接,方便查阅! 一.geotrellis使用初探 二.geotrellis使用(二)geotrellis-chatta-demo以及geotrellis框架数据读取方式初探 三.geotrellis使用(三)geotrellis数据处理过程分析 四.geotrellis使用(四)geotrellis数据处理部分细节 五.geotrellis使用(五)使用scala操作Accumulo 六.geotrellis使用(六)Scala并发(并行…
1.本系列文章的目的 实现一个小而美的产品级别php框架 自己动手实现一个新框架仅用于学习交流,不打算替代市面上现有的其他主流框架. 2. 我要一个怎样的PHP框架 简单实用,安全优雅,博采众长 安装简单,上手简单,扩展简单 不需要编译C扩展. 不需要知道什么是composer. 不需要改nginx.cnf .htaccess各种重写规则. 但支持各种环境,从最低端的虚拟空间到独立服务器,从单机xampp,phpstudy, 到各种云sae,bae,以及高大上的分布式架构部署方式.绿色无需安装,…
对于之前一直使用webForm服务器控件.手写ado.net操作数据库的同学,突然来了EF和MVC,好多新概念泉涌而出,的确犹如当头一棒不知所措.本系列文章可以帮助新手入门并熟练使用EF和MVC,有了这个基础以后再学习后续新版的EF以及MVC,自然简单许多了.祝好运! 一.EF Code First EF Code First系列文章译自Julie Lerman和Rowan Miller编写的Programming Entity Framework: Code First,主要讲解EF是如何通过…
java nio系列教程 基于NIO的Client/Server程序实践 (推荐) java nio与并发编程相关电子书籍   (访问密码 48dd) 理解NIO nio学习记录 图解ByteBuffer java nio系列文章  (推荐) Java NIO 应用 -- 使用内存映射文件实现进程间通信 JAVA NIO之浅谈内存映射文件原理与DirectMemory…
Java 加解密技术系列之 总结 Java 加解密技术系列之 DH Java 加解密技术系列之 RSA Java 加解密技术系列之 PBE Java 加解密技术系列之 AES Java 加解密技术系列之 3DES Java 加解密技术系列之 DES Java 加解密技术系列之 HMAC Java 加解密技术系列之 SHA Java 加解密技术系列之 MD5 Java 加解密技术系列之 BASE64 常用加密算法的Java实现(一)——单向加密算法MD5和SHA 常用加密算法的Java实现(二)—…
1 什么是设计模式 设计模式是对在软件设计过程中重复出现的问题提出了一种比较好的解决方案.正如一位专家所说:设计模式是对程序设计人员经常遇到的设计问题的可再现的解决方案(The Smalltalk Companion).GOF设计模式通常被认为是其他设计模式的基础,随着业务复杂度的增大,会不断涌现新的设计模式,而这些新的设计模式一般会以GOF模式理论为参照. 2 为什么要学习设计模式 从个人职业规划来考虑.一位软件开发工程师随着编码量的增加,开发经验的增加,软件理论理解的加深,会不由自主地想一些…
这段时间闲来无事,就在总结以前的项目经验,然后写成博客的形式以进行记录.本文就对<IT软件人员学习系列文章>做个开篇吧. 对于IT软件的开发来说,无外乎B/S.C/S和Android.iOS(后两项也是C/S).在B/S领域,无外乎PHP.JAVA和ASP.NET这几大阵营.而在C/S领域,JAVA的开发比较复杂,需要编写一些重复的和底层的代码,相比C#的可视化和相似的语法,还是微软的开发工具和语言比较容易上手. 但是,我们今天讲的不是代码,而是整个软件流程,这个属于软件工程的范畴.我们知道,…
十年前,笔者还是一个刚毕业的大学生,对IT业只是停留在学校的编程知识领域.刚出社会,有很多需要学习的地方.在这十年间,笔者经历了程序员,技术经理,项目经理,部门经理等职位.本文就是要说说如何从程序员到部门经理的经验. 对于程序员,按笔者在<软件项目角色指南>一文中的称呼,应该称为软件工程师.大家可以去看看该系列中对软件工程师的职责等内容,希望大家能对该角色有一定的理解.软件工程师要做的事情还是比较多的,因为在项目中可能要涉及到很多方面的内容,所以,软件工程师往往身兼多职.软件工程师在项目中的作…