计算机 IT
共 547 人关注

筛选:
排序:
...
Kotlin 无需继承实现对类的功能扩展 【已翻译】

Kotlin 同 C# 和 Gosu 类似,能够扩展一个类的新功能而无需继承该类或使用像装饰者这样的任何类型的设计模式。 这通过叫做_扩展_的特殊声明完成。Kotlin 支持_扩展函数_ 和 扩展属性。 扩展函数 声明一个扩展函数,我们需要用一个 接收者类型 也就是被扩展的类型来作为他的前缀。 下面代码为  添加一个 函数:

计算机/ @CY2
...
Kotlin 可见性修饰符 【已翻译】

类、对象、接口、构造函数、方法、属性和它们的 setter 都可以有_可见性修饰符_。 (getter 总是与属性有着相同的可见性。) 在 Kotlin 中有这四个可见性修饰符:、 、  和 。 如果没有显式指定修饰符的话,默认可见性是 。 下面将根据声明作用域的不同来解释。 包名 函数、属性和类、对象和接口可以在顶层声明,即直接在包内:

计算机/ @CY2
...
现代 JavaScript 开发相对比较困难些 【已翻译】

最近经常看到人们抱怨JavaScript开发很复杂。 我很赞同这种看法,如果他刚刚接触这门语言。 如果你在学习JS,用不了多长时间你就会发现搭建一个现代的Web应用程序是一个多么巨大的生态系统,这里又太多的知识点需要你去理解(至少在概念上)。 包管理, 代码提示, 反编译, 模块捆绑, 压缩,源图, 框架,单元测试, 热加载… 不可否认,这些相对于只包含一个script标签然后就通过FTP登...

计算机/ @whlysu
...
如何使用Git处理大型仓库 【已翻译】

? 在这篇文章中,我会给你一些建议来适当地处理不同类型的大型存储库。 两种大型存储库 如果你仔细思考一下,存储库规模增长的原因主要有两个: 经历了较长时间的积累 (项目历时很长,存储的东西不断积累) 它包括需要跟踪和并代码配对的大规模二进制代码。 以上两个。

计算机/ @slfeng, @一叶障目, @toypipi
...
Kotlin 编程语言的接口 【已翻译】

Kotlin 的接口与 Java 8 类似,既包含抽象方法的声明,也包含 实现。与抽象类不同的是,接口无法保存状态。它可以有 属性但必须声明为抽象或提供访问器实现。 使用关键字 interface 来定义接口 实现接口 一个类或者对象可以实现一个或多个接口。

计算机/ @CY2
...
Kotlin 编程语言的属性和字段 【已翻译】

声明属性 Kotlin的类可以有属性。 属性可以用关键字var 声明为可变的,否则使用只读关键字val。 要使用一个属性,只要用名称引用它即可,就像 Java 中的字段: Getters 和 Setters 声明一个属性的完整语法是 其初始器(initializer)、getter 和 setter 都是可选的。属性类型如果可以从初始器 (或者从其 getter 返回值,如下文所示)中推断出...

计算机/ @CY2
...
Kotlin 的程序控制逻辑 【已翻译】

If 表达式 在 Kotlin 中,if是一个表达式,即它会返回一个值。 因此就不需要三元运算符(条件 ? 然后 : 否则),因为普通的 if 就能胜任这个角色。 if 的分支可以是代码块,最后的表达式作为该块的值: 如果你使用 if 作为表达式而不是语句(例如:返回它的值或者 把它赋给变量),该表达式需要有  分支。

计算机/ @CY2
...
Kotlin 的包 【已翻译】

源文件通常以包声明开头: 源文件所有内容(无论是类还是函数)都包含在声明的包内。 所以上例中  的全名是 、的全名是 。 如果没有指明包,该文件的内容属于无名字的默认包。 默认导入 Kotlin 文件会默认包含以下几个包: kotlin.* kotlin.annotation.* kotlin.collections.* kotlin.comparisons.* (since 1.1) ko...

计算机/ @CY2
...
Kotlin 编程语言的类和继承 【已翻译】

类 Kotlin 使用 class 关键字来定义一个类: 类声明由类名、类头(指定其类型参数、主 构造函数等)和由大括号包围的类体构成。类头和类体都是可选的; 如果一个类没有类体,可以省略花括号。 构造函数 在 Kotlin 中的一个类可以有一个主构造函数和一个或多个次构造函数。主构造函数是类头的一部分:它跟在类名(和可选的类型参数)后。

计算机/ @CY2
...
Kotlin 编程语言的函数返回和跳转 【已翻译】

Kotlin 有三种结构化跳转表达式: return. 默认从最直接包围它的函数或者匿名函数返回。 break. 终止最直接包围它的循环。 continue. 继续下一次最直接包围它的循环。 所有这些表达式都可以用作更大表达式的一部分: 这些表达式的类型是 Nothing 类型。 标签的 Break 和 Continue Kotlin 中任何表达式都可以用标签(label)来标记。 标签的格...

计算机/ @CY2
...
Kotlin 的基本数据类型 【已翻译】

Kotlin 语言中任何事物都是对象,我们可以访问任何对象的成员函数以及属性。Kotlin 也内建了一些类型,因为这些类型的实现是经过优化的,但对用户而言其实只是一个普通的类。在本文中我们将对这些类型进行详细的描述,包括数值、字符、布尔型以及数组。 数值类型 Kotlin 使用和 Java 类似的方法来处理数值类型,但不完全相同。例如 Kotlin 不支持隐式的类型扩大转换(例如 byte ...

计算机/ @CY2
...
深度学习的大麻烦 【已翻译】

我实在对这个难题感到很困惑。它让我每天都处于六神无主的状态,好像我就是无法找到将它解决掉的可靠办法。不,我所谈论的与其说是关于世界政治或现任美国总统,倒不如说是关于和人类休戚相关的事,更具体地说,就是关于我们身为工程师和研究人员该如何生存和工作。我说的是关于…深度学习的难题。 虽然你可能会发现我的以上描述相当夸夸其谈,言过其词,但深度学习确实给我们提出了几个必须解决的关键问题。在以下的段落中...

计算机/ @machunyan, @WestMountain, @Hornsey
...
MQTT 要点总结 【已翻译】

MQTT 要点 总结 所以在过去的11个星期里,我们每个星期都发布了一个新的MQTT 要点的帖子。这一次,我们将整理系列,并在下周开始新的有趣的话题。 我们希望MQTT 要点对您有帮助。我们也有乐趣写他们!我们的目标是为感兴趣的人提供关于MQTT的基本特性的有用信息,而不需要人们读完整个MQTT规范,却感到云里雾里。 MQTT要点目录: Introducing MQTT Publish & ...

计算机/ @小蔡
...
如何编写不可维护的代码 ;-) 【已翻译】

介绍 永远不要把无能归咎于作恶                ------ 拿破仑 为了获得在Java编程领域工作的机会,我把这些来自于大师们关于如何编写难以维护代码的技巧传达给大家。如果你使用这些技巧,那些后来继承你工作的人即使做最简单的改动也要花费几年的时间。进一步,如果你能遵守所有的这些规则,你将能保证一辈子都不会被解雇,因为除了你已经没有人能维护这些操蛋的代码。甚至,如果你虔诚地遵守...

计算机/ @Stella, @rekii, @GreyWord, @toypipi, @Hornsey, @班纳睿, @CY2, @一叶障目, @coyee
...
MongoDB 之使用故障转移的分布式任务分配 【已翻译】

当构建一个分布式系统的时候,你该如何分配任务是件很有趣的事情。换言之,假定你有多个节点,你会怎样决定选择哪个节点来做这件事?在某些情况下,这是个很简单的问题;你也许会说,“所有的节点都会处理读取的请求。”但是在其他情况下,就要复杂些了。我们来设想一种情况,你有多个节点,你需要对数据库进行常规备份,即在多个节点间进行复制。你也许不想在所有节点上都进行备份; 毕竟,每个节点上的操作都是一样的,你...

计算机/ @班纳睿, @toypipi, @CY2
...
Kotlin 编码风格 【已翻译】

随机抽取在 Kotlin 经常使用的编码风格。如果你有自己喜好的风格,可以分享给大家。 创建 DTOs (POJOs/POCOs) 给  类提供下列功能: 所有属性的 getters (and setters in case of vars) , , …, 用于所有属性 (see Data classes) 函数参数的默认值 对 list 数据进行过滤

计算机/ @CY2
...
Kotlin 编程语言的基本语法 【已翻译】

包定义 包的声明必须在源码文件的最顶部: 跟 Java 不同,Kotlin 的包不一定非要对应文件目录,可以放在任何地方。 详情请看 Packages. 函数定义 定义一个包含两个  参数,以及返回  类型的函数: 目标平台: JVM on kotlin v. 1.1.2 定义一个表达式函数体以及推断返回类型的函数: 目标平台: JVM on kotlin v. 1.1.2 定义返回没有意义...

计算机/ @CY2
...
Go 语言如何实现优雅的错误处理 【已翻译】

我撰写本文,是为了回应别处一个文章的说法。具体来说,就是错误处理的方式太“不优雅”。 go语言的错误处理方式,往往被新接触go语言的新人所诟病。注意哦,我说的可不是“异常处理”。Go语言中是没有异常的,尽管你会说Go语言不是使用panic和recover来处理异常的么。但是,我必须明确指出,我是反对你这种说法的。经常使用这种说法,其实是反设计模式的。你的程序中出现某种错误时,Go只是使用一种...

计算机/ @scilence
...
使用 Kotlin 命令行编译器编译并运行首个 Kotlin 程序 【已翻译】

这个教程引导我们创建一个 Hello world 应用,并使用命令行编译器进行编译。 下载编译器 每次发布版本都会包含一个独立的编译器,我们可以从 GitHub Releases 中下载,最新的版本是 1.1.2-2. 手工安装 解压缩下载后的压缩包到一个独立目录,你可以将 bin 目录添加到系统路径中编译日后使用。bin 目录包含用来编译和运行 Kotlin 程序的脚本,支持 Window...

计算机/ @CY2
...
2017 年最受欢迎的 5 个前端框架比较 【已翻译】

如今的 CSS 前端框架的发展非常迅猛,但是真正好的框架不多。 在这篇文章中,我将对我认为当今最好的 5 个框架进行比较。每个框架都有它自己的强项和弱项,以及适合的领域,你需要根据这些特点来进行选择。例如,如果你的项目很简单,那就没有必要选择复杂的框架。此外,还有一些选项是模块化,这样你就可以根据需要选择所需的组件,或者来自不同框架混合的组件。 我选择的这些框架是根据它们在 Github 的...

计算机/ @CY2, @coyee