This repository has been archived by the owner on Mar 24, 2024. It is now read-only.
forked from kotlin-zhcn/kotlin-zhcn.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
758 lines (673 loc) · 33.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
<!DOCTYPE html>
<html>
<head>
<title>Kotlin 语言中文站</title>
<meta charset="utf-8">
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5W8DZRW');</script>
<!-- End Google Tag Manager -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="Shortcut Icon" href="/assets/images/favicon.ico" type="image/x-icon"/>
<link rel="apple-touch-icon" href="/assets/images/apple-touch-icon.png"/>
<link rel="apple-touch-icon" sizes="72x72"
href="/assets/images/apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="114x114"
href="/assets/images/apple-touch-icon-114x114.png"/>
<link rel="apple-touch-icon" sizes="144x144"
href="/assets/images/apple-touch-icon-144x144.png"/>
<link rel="stylesheet" href="/0_assets/styles.css">
<!-- Social Media tag Starts -->
<!-- Place this data between the <head> tags of your website -->
<!-- Open Graph data -->
<meta property="og:title" content=""/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="https://www.kotlincn.net/"/>
<meta property="og:image" content="https://www.kotlincn.net/assets/images/open-graph/kotlin_250x250.png"/>
<meta property="og:description" content="">
<meta property="og:site_name" content="Kotlin"/>
<!-- Twitter Card data -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@kotlin">
<meta name="twitter:title" content="">
<meta name="twitter:description" content="">
<meta name="twitter:image:src" content="https://www.kotlincn.net/assets/images/twitter-card/kotlin_800x320.png">
<!-- Social Media tag Ends -->
<link rel="stylesheet" href="/0_assets/index.css">
</head>
<body class="page_index">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5W8DZRW"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div class="global-layout">
<header class="global-header">
<div class="global-header-panel">
<div class="g-layout">
<a class="global-header-logo" href="/">Kotlin</a>
<nav class="global-nav">
<div class="nav-links">
<a href="https://www.kotliner.cn/" class="nav-item">
博客
</a>
<a href="https://discuss.kotliner.cn/" class="nav-item">
论坛
</a>
<a href="/docs/reference/" class="nav-item">
学习
</a>
<a href="/community/" class="nav-item">
社区
</a>
<a href="http://try.kotlinlang.org" class="nav-item">
在线试用
</a>
</div>
<div class="extra-nav social-links">
<a href="https://github.com/JetBrains/kotlin" class="link link-github" title="Source Code on GitHub" target="_blank">
<i class="link-icon icon-github"></i>
</a>
<a href="https://twitter.com/kotlin" class="link link-twitter" title="Kotlin on Twitter" target="_blank">
<i class="link-icon icon-twitter"></i>
</a>
<a href="//discuss.kotlinlang.org/" class="link link-forum" title="Kotlin Forum">
<i class="link-icon icon-forum"></i>
</a>
</div>
<div class="search-button">
<div class="icon"></div>
</div>
</nav> </div>
</div>
<div class="g-layout">
<div class="kotlin-info">
<div class="kotlin-info-description">
用于现代多平台应用的<br>
静态编程语言
</div>
<div class="kotlin-info-description-extra" style="margin-bottom: 24px">
与 Java™ 和 Android™ 100% 可互操作
</div>
<a href="http://try.kotlinlang.org" class="get-kotlin-button">
试用 Kotlin
</a>
<span class="release-banner">
Kotlin 1.2 发布了
<a class="release-banner__link"
href="https://blog.jetbrains.com/kotlin/2017/11/kotlin-1-2-released/">
阅读更多</a>
</span>
<span class="release-banner">
慕课网:Kotlin系统入门与进阶教程 上线
<a class="release-banner__link"
href="http://coding.imooc.com/class/108.html">
阅读更多</a>
</span>
</div>
<div class="current-version">Version 1.2.41</div>
</div>
</header>
<section class="kotlin-overview-section _works-on">
<h2 class="section-header">构建用于以下平台的应用</h2>
<div class="works-on-list"> <a href="/docs/reference/server-overview.html" class="works-on-item">
<div class="works-on-icon _jvm"></div>
<div class="works-on-text">
JVM<br/>
</div>
</a>
<a href="/docs/reference/android-overview.html" class="works-on-item">
<div class="works-on-icon _android"></div>
<div class="works-on-text">
Android<br/>
</div>
</a>
<a href="/docs/reference/js-overview.html" class="works-on-item">
<div class="works-on-icon _浏览器"></div>
<div class="works-on-text">
浏览器<br/>
</div>
</a>
<a href="/docs/reference/native-overview.html" class="works-on-item">
<div class="works-on-icon _原生"></div>
<div class="works-on-text">
原生<br/>
</div>
</a>
</div>
</section>
<section class="kotlin-overview-section _features">
<h2 class="section-header">为什么选择 Kotlin?</h2>
<div class="section-content">
<ul class="kotlin-features-list">
<li class="kotlin-feature _简洁 js-popup-open-button"
data-popup-id="kotlin-feature_简洁">
<div class="feature-image">
<div class="feature-icon _简洁"></div>
</div>
<h3 class="feature-title">简洁</h3>
<p class="feature-description">大大减少样板代码的数量。</p>
<span class="feature-example-link">参见示例</span>
</li>
<li class="kotlin-feature _安全 js-popup-open-button"
data-popup-id="kotlin-feature_安全">
<div class="feature-image">
<div class="feature-icon _安全"></div>
</div>
<h3 class="feature-title">安全</h3>
<p class="feature-description">避免空指针异常等整个类的错误。</p>
<span class="feature-example-link">参见示例</span>
</li>
<li class="kotlin-feature _互操作性 js-popup-open-button"
data-popup-id="kotlin-feature_互操作性">
<div class="feature-image">
<div class="feature-icon _互操作性"></div>
</div>
<h3 class="feature-title">互操作性</h3>
<p class="feature-description">充分利用 JVM、Android 和浏览器的现有库。</p>
<span class="feature-example-link">参见示例</span>
</li>
<li class="kotlin-feature _工具友好 js-popup-open-button"
data-popup-id="kotlin-feature_工具友好">
<div class="feature-image">
<div class="feature-icon _工具友好"></div>
</div>
<h3 class="feature-title">工具友好</h3>
<p class="feature-description">可用任何 Java IDE 或者使用命令行构建。</p>
<span class="feature-example-link">参见示例</span>
</li>
</ul>
</div>
<div class="overview-popup overview-popup_简洁 _hidden js-popup"
id="kotlin-feature_简洁">
<div class="popup-content">
<h3 id="简洁">简洁</h3>
<p>使用一行代码创建一个包含 getters、 setters、 <code>equals()</code>、 <code>hashCode()</code>、 <code>toString()</code> 以及 <code>copy()</code> 的 POJO:</p>
<pre><code class="code _highlighted" data-lang="text/x-kotlin">data class Customer(val name: String, val email: String, val company: String)
</code></pre>
<p>或者使用 lambda 表达式来过滤列表:</p>
<pre><code class="code _highlighted" data-lang="text/x-kotlin">val positiveNumbers = list.filter { it > 0 }
</code></pre>
<p>想要单例?创建一个 object 就可以了:</p>
<pre><code class="code _highlighted" data-lang="text/x-kotlin">object ThisIsASingleton {
val companyName: String = "JetBrains"
}
</code></pre>
</div>
<div class="popup-close-button js-popup-close-button"
data-popup-id="kotlin-feature_简洁"></div>
</div>
<div class="overview-popup-overlay"></div>
<div class="overview-popup overview-popup_安全 _hidden js-popup"
id="kotlin-feature_安全">
<div class="popup-content">
<h3 id="安全">安全</h3>
<p>彻底告别那些烦人的 NullPointerException——著名的<a href="http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare">十亿美金的错误</a>。</p>
<pre><code class="code _highlighted" data-lang="text/x-kotlin">var output: String
output = null // 编译错误
</code></pre>
<p>Kotlin 可以保护你避免对可空类型的误操作</p>
<pre><code class="code _highlighted" data-lang="text/x-kotlin">val name: String? = null // 可控类型
println(name.length()) // 编译错误
</code></pre>
<p>并且如果你检查类型是正确的,编译器会为你做自动类型转换</p>
<pre><code class="code _highlighted" data-lang="text/x-kotlin">fun calculateTotal(obj: Any) {
if (obj is Invoice)
obj.calculateTotal()
}
</code></pre>
</div>
<div class="popup-close-button js-popup-close-button"
data-popup-id="kotlin-feature_安全"></div>
</div>
<div class="overview-popup-overlay"></div>
<div class="overview-popup overview-popup_互操作性 _hidden js-popup"
id="kotlin-feature_互操作性">
<div class="popup-content">
<h3 id="互操作性">互操作性</h3>
<p>使用 JVM 上的任何现有库,因为有 100% 的兼容性,包括 SAM 支持。</p>
<pre><code class="code _highlighted" data-lang="text/x-kotlin">import io.reactivex.Flowable
import io.reactivex.schedulers.Schedulers
Flowable
.fromCallable {
Thread.sleep(1000) // 模仿高开销的计算
"Done"
}
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.single())
.subscribe(::println, Throwable::printStackTrace)
</code></pre>
<p>无论是 JVM 还是 JavaScript 目标平台,都可用 Kotlin 写代码然后部署到你想要的地方</p>
<pre><code class="code _highlighted" data-lang="text/x-kotlin">import kotlin.browser.window
fun onLoad() {
window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"
}
</code></pre>
</div>
<div class="popup-close-button js-popup-close-button"
data-popup-id="kotlin-feature_互操作性"></div>
</div>
<div class="overview-popup-overlay"></div>
<div class="overview-popup overview-popup_工具友好 _hidden js-popup"
id="kotlin-feature_工具友好">
<div class="popup-content">
<h3 id="工具化">工具化</h3>
<p>一门语言需要工具化,而在 JetBrains,这正是我们做得最好的地方!</p>
<p class="image-block"><img alt="Tooling" src="/assets/images/index/features/tooling/tooling1.png" srcset="/assets/images/index/features/tooling/tooling1%402x.png 2x"/></p>
<p class="image-block"><img alt="Tooling" src="/assets/images/index/features/tooling/tooling2.png" srcset="/assets/images/index/features/tooling/tooling2%402x.png 2x"/></p>
</div>
<div class="popup-close-button js-popup-close-button"
data-popup-id="kotlin-feature_工具友好"></div>
</div>
<div class="overview-popup-overlay"></div>
</section>
<section class="kotlin-overview-section _code-examples">
<div class="kotlin-overview-code-example-tabs">
<div class="g-layout">
<div class="tab is_active js-tab" data-tab-id="kotlin-code-example-simplest"><div class="text">最简版</div></div>
<div class="tab js-tab" data-tab-id="kotlin-code-example-object-oriented"><div class="tab-text">“面向对象”的 Hello</div></div>
<div class="tab js-tab" data-tab-id="kotlin-code-example-android-activity"><div class="tab-text">Android Activity</div></div>
<div class="tab js-tab" data-tab-id="kotlin-code-example-html-builder"><div class="tab-text">HTML 构建器</div></div>
</div>
</div>
<h2 class="section-header">Kotlin 看起来是什么样的?</h2>
<p class="section-description">简洁、简单、易读、易写</p>
<div class="section-content">
<!-- code example -->
<div class="kotlin-overview-code-example" id="kotlin-code-example-simplest">
<div class="code-line">
<div class="code"><span class="keyword">package</span> hello
</div>
<div class="code-legend align_right">
<div class="code-legend-line"></div>
<div class="code-legend-text">
可选的包头
</div>
</div>
</div>
<div class="code-line">
<div class="code"><span class="keyword">fun</span> <span class="func-name">main</span>(<span class="var-name">args</span>: Array<String>) {</div>
<div class="code-legend align_right">
<div class="code-legend-line"></div>
<div class="code-legend-text">
包级可见的函数,接受一个字符串数组作为参数
</div>
</div>
</div>
<div class="code-line">
<div class="code"> <span class="buildin-func-name">println</span>(<span class="string-literal">"Hello World!"</span>)
}
</div>
<div class="code-legend align_right">
<div class="code-legend-line-marker"></div>
<div class="code-legend-line" style="
-webkit-transform: rotate(29deg);
-ms-transform: rotate(29deg);
transform: rotate(29deg);
top: 70px;
left: 23px;
right: -12px;
"></div>
<div class="code-legend-text" style="top: 100px;">
注意到了吗?<br> 分号可以省略
</div>
</div>
</div>
</div>
<!--/ code example -->
<!-- code example -->
<div class="kotlin-overview-code-example is_hidden" id="kotlin-code-example-object-oriented">
<div class="code-line">
<div class="code"> </div>
<div class="code-legend align_right">
<div class="code-legend-line">
<div style="
position: absolute;
width: 1px;
background: #fff;
top: 1px;
height: 17px;
"></div>
</div>
<div class="code-legend-text">
具有主构造函数和成员函数的类
</div>
</div>
</div>
<div class="code-line">
<div class="code"><span class="keyword">class</span> <span class="class-name">Greeter</span>(<span class="keyword">val</span> <span class="var-name">name</span>: String) {</div>
</div>
<div class="code-line">
<div class="code"> <span class="keyword">fun</span> <span class="func-name">greet</span>() { </div>
</div>
<div class="code-line">
<div class="code"><span class="buildin-func-name"> println</span>(<span class="string-literal">"Hello, <span class="string-literal-var-substitution">$<span class="var-name">name</span></span>"</span>)
}
}
</div>
<div class="code-legend align_right">
<div class="code-legend-line">
</div>
<div class="code-legend-text">
字符串内插以减少模版代码。
</div>
</div>
</div>
<div class="code-line">
<div class="code"><span class="keyword">fun</span> <span class="func-name">main</span>(<span class="var-name">args</span>: Array<String>) {
<span class="class-name"> Greeter</span>(<span class="var-name">args</span>[<span class="number">0</span>]).greet()</div>
</div>
<div class="code-line">
<div class="code">} </div>
<div class="code-legend align_right">
<div class="code-legend-line">
<div style="
position: absolute;
width: 1px;
background: #fff;
bottom: 1px;
height: 17px;
"></div>
</div>
<div class="code-legend-text">
请注意,创建一个对象不用 new 关键字
</div>
</div>
</div>
<div class="code-line">
<div class="code">
</div>
</div>
</div>
<!--/ code example -->
<!-- code example -->
<div class="kotlin-overview-code-example is_hidden" id="kotlin-code-example-android-activity">
<div class="code"> </div>
<div class="code-line">
<div class="code-legend align_right">
<div class="code-legend-line">
<div style="
position: absolute;
width: 1px;
background: #fff;
top: 1px;
height: 17px;
"></div>
</div>
<div class="code-legend-text">
类型安全访问视图
</div>
</div>
</div>
<div class="code-line">
<div class="code"><span class="keyword">import</span> kotlinx.android.synthetic.main.activity_main.fab
</div>
</div>
<div class="code-line">
<div class="code"><span class="keyword">class</span> <span class="class-name">MainActivity</span> : <span class="class-name">AppCompatActivity</span>() {</div>
</div>
<div class="code-line">
<div class="code"> <span class="keyword">override fun</span> <span class="func-name">onCreate</span>(<span class="var-name">savedInstanceState</span>: Bundle?) {
...</div>
</div>
<div class="code-line">
<div class="code"> fab.setOnClickListener {</div>
<div class="code-legend align_right">
<div class="code-legend-line">
</div>
<div class="code-legend-text">
Lambda 表达式以简化事件处理程序
</div>
</div>
</div>
<div class="code-line">
<div class="code"> toast(<span class="string-literal">"Hello!"</span>)</div>
</div>
<div class="code-line">
<div class="code"> } </div>
<div class="code-legend align_right">
<div class="code-legend-line">
<div style="
position: absolute;
width: 1px;
background: #fff;
bottom: 1px;
height: 17px;
"></div>
</div>
<div class="code-legend-text">
用于普通 Android API 的简洁包装
</div>
</div>
</div>
<div class="code-line">
<div class="code"> }
}</div>
</div>
</div>
<!--/ code example -->
<!-- code example -->
<div class="kotlin-overview-code-example is_hidden" id="kotlin-code-example-html-builder">
<div class="code-line">
<div class="code"><span class="keyword">val</span> <span class="var-name">data</span> = <span class="buildin-func-name">mapOf</span>(<span class="number">1</span> <span class="buildin-func-name">to</span> <span class="string-literal">"one"</span>, <span class="number">2</span> <span class="buildin-func-name">to</span> <span class="string-literal">"two"</span>)
createHTML().table {</div>
</div>
<div class="code-line">
<div class="code"> <span class="keyword">for</span> ((<span class="var-name">num</span>, <span class="var-name">string</span>) <span class="keyword">in</span> <span class="var-name">data</span>) {</div>
<div class="code-legend align_right">
<div class="code-legend-line">
</div>
<div class="code-legend-text">
遍历数据
</div>
</div>
</div>
<div class="code-line">
<div class="code"> tr {</div>
<div class="code-legend align_right">
<div class="code-legend-line">
</div>
<div class="code-legend-text">
创建 HTML 标签的函数
</div>
</div>
</div>
<div class="code-line">
<div class="code"> td { +<span class="string-literal">"$</span><span class="var-name">num</span><span class="string-literal">"</span> } </div>
</div>
<div class="code-line">
<div class="code"> td { +<span class="var-name">string</span> }
}
}
}
</div>
<div class="code-legend align_right">
<div class="code-legend-line">
</div>
<div class="code-legend-text">
输出变量的值
</div>
</div>
</div>
</div>
<!--/ code example -->
<div class="more-link-wrap">
<a href="/docs/reference" class="more-link">更多示例参见完整语言文档</a>
</div>
</div>
</section>
<section class="kotlin-overview-section _get-kotlin" id="get-kotlin">
<h2 class="section-header">试用 Kotlin</h2>
<div class="try-image"></div>
<a href="//try.kotlinlang.org" class="try-button">在线试用</a>
<div class="section-description">
浏览 Kotlin 代码示例<br/>
并直接在浏览器中解决问题
</div>
<div class="section-content">
<div class="get-kotlin-options-list">
<div class="option-item _intellij-idea">
<div class="option-image">
<div class="jetbrains-logo _logo-intellij-idea _size-2"></div>
</div>
<div class="option-title-pre-text">使用</div>
<h3 class="option-title">IntelliJ IDEA</h3>
<p class="option-description">
IntelliJ IDEA 社区版或 IntelliJ IDEA Ultimate 中已自带
</p>
<div class="option-link-wrap">
<a href="/docs/tutorials/getting-started.html"
class="option-link">
使用说明
</a>
</div>
</div>
<div class="option-item">
<div class="option-image _android-studio"></div>
<div class="option-title-pre-text">使用</div>
<h3 class="option-title">Android Studio</h3>
<p class="option-description">
<a href="https://developer.android.com/studio/preview/index.html" target="_blank">Android Studio 3.0</a> 已自带,有插件可用于早期版本
</p>
<div class="option-link-wrap">
<a href="/docs/tutorials/kotlin-android.html"
class="option-link">
使用说明
</a>
</div>
</div>
<div class="option-item">
<div class="option-image _eclipse"></div>
<div class="option-title-pre-text">使用</div>
<h3 class="option-title">Eclipse</h3>
<p class="option-description">
从 Eclipse Marketplace 安装插件
</p>
<div class="option-link-wrap">
<a href="/docs/tutorials/getting-started-eclipse.html"
class="option-link">
使用说明
</a>
</div>
</div>
<div class="option-item _standalone-compiler">
<div class="option-image _standalone-compiler"></div>
<div class="option-title-pre-text">独立的</div>
<h3 class="option-title">编译器</h3>
<p class="option-description">
使用任何编辑器,并在命令行构建
</p>
<div class="option-link-wrap">
<a href="/docs/tutorials/command-line.html"
class="option-link">下载编译器</a>
</div>
</div>
</div>
<p class="kotlin-version">最新版本: 1.2.41</p>
</div>
</section>
<section class="kotlin-overview-section _testimonials">
<h2 class="section-header">Kotlin 用途集锦</h2>
<div class="testimonials-layout">
<div class="testimonials">
<div class="testimonial">
<h3 class="testimonial-header">Pinterest</h3>
<div class="testimonial-text">Pinterest 已成功<a href="https://www.youtube.com/watch?v=mDpnc45WwlI">将 Kotlin 引入</a>了他们的应用程序,每个月有 1 亿 5 千万人使用。</div>
</div>
<div class="testimonial">
<h3 class="testimonial-header">Gradle</h3>
<div class="testimonial-text">Gradle 正<a href="https://hltj.me/kotlin/2017/06/13/kotlin-meet-gradle.html">引入 Kotlin</a> 作为编写脚本的语言。</div>
</div>
<div class="testimonial">
<h3 class="testimonial-header">Evernote</h3>
<div class="testimonial-text">Evernote 最近 <a href="https://blog.evernote.com/tech/2017/01/26/android-state-library/">将 Kotlin 整合</a>到了他们的 Android 客户端</div>
</div>
<div class="testimonial">
<h3 class="testimonial-header">Uber</h3>
<div class="testimonial-text">Uber 团队<a href="https://www.reddit.com/r/androiddev/comments/5sihp0/2017_whos_using_kotlin/ddfmkf7/">使用 Kotlin</a> 来构建内部工具</div>
</div>
<div class="testimonial">
<h3 class="testimonial-header">Corda</h3>
<div class="testimonial-text">是一个开源分布式分类账号平台,由各大银行提供支持,<a href="https://www.corda.net/2017/01/10/kotlin/">完全由 Kotlin 构建</a>。</div>
</div>
<div class="testimonial">
<h3 class="testimonial-header">Coursera</h3>
<div class="testimonial-text">Coursera Android 应用程序<a href="https://building.coursera.org/blog/2016/03/16/becoming-bilingual-coursera/">部分用 Kotlin 编写</a></div>
</div>
<div class="testimonial">
<h3 class="testimonial-header">Pivotal</h3>
<div class="testimonial-text">Spring <a href="https://hltj.me/kotlin/2017/05/23/kotlin-support-in-spring5.html">采用 Kotlin 的语言特性</a>来提供更简洁的 API</div>
</div>
<div class="testimonial">
<h3 class="testimonial-header">Atlassian</h3>
<div class="testimonial-text"><a href="https://twitter.com/danlew42/status/809065097339564032">Trello Android</a>应用程序中的所有新代码都用 Kotlin。</div>
</div>
</div>
</div>
</section>
<section class="kotlin-overview-section _community">
<h2 class="section-header">保持联系</h2>
<div class="section-content">
<ul class="links-list">
<li class="links-list-item">
<a href="http://blog.jetbrains.com/kotlin" class="link" target="_blank">
<span class="link-icon _blog"></span>
<span class="link-text">博客</span>
</a>
</li>
<li class="links-list-item">
<a href="community.html" class="link">
<span class="link-icon _forum"></span>
<span class="link-text">社区</span>
</a>
</li>
<li class="links-list-item">
<a href="https://twitter.com/kotlin" class="link" target="_blank">
<span class="link-icon _twitter"></span>
<span class="link-text">Twitter</span>
</a>
</li>
<li class="links-list-item">
<a href="https://youtrack.jetbrains.com/issues/KT" class="link" target="_blank">
<span class="link-icon _issue-tracker">
<div class="jetbrains-logo _logo-youtrack _size-2"></div>
</span>
<span class="link-text">问题跟踪</span>
</a>
</li>
</ul>
</div>
</section>
</div>
<footer role="contentinfo" class="global-footer">
<div class="global-footer-terms">
<div class="g-layout">
<div class="terms-copyright">
Licensed under the <a href="https://github.com/JetBrains/kotlin-web-site/blob/master/LICENSE">Apache 2 license</a>
</div>
<div class="terms-sponsor">
Sponsored and developed by <a href="http://jetbrains.com" class="sponsor sponsor_jetbrains" target="_blank">JetBrains</a>
由<a href="https://hltj.me/" class="testimonial-company-link" target="_blank" rel="nofollow">灰蓝天际</a>、<a href="http://tanfujun.com" class="testimonial-company-link" target="_blank" rel="nofollow">晓_晨DEV</a> <a href="/contribute.html#中文站翻译贡献者" class="testimonial-company-link" target="_blank" rel="nofollow">等</a>译
</div>
</div>
</div>
</footer><div class="search-popup _hidden" tabindex="1000">
<div class="search-popup__content">
<div class="search-popup__controls">
<div class="search-popup__input"></div>
<div class="search-popup__close">
<div class="search-popup__close-icon-wrapper">
<div class="search-popup__close-icon"></div>
</div>
<div class="search-popup__close-text">esc</div>
</div>
</div>
<div class="search-popup__results"></div>
</div>
</div><script src="/0_assets/default.js"></script>
<script src="/0_assets/common.js"></script>
<script src="/0_assets/index.js"></script>
</body>
</html>