Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Kotlin源码阅读——Standard模块

Kotlin源码阅读——Standard模块

原创
作者头像
Runhwguo
发布于 2018-10-05 14:28:00
发布于 2018-10-05 14:28:00
1.1K0
举报

Package:kotlin

Filename:stdlib/src/kotlin/util/Standard.kt

Standard.kt是Kotlin中提供的一个标准模块。我觉得这里的“标准”,翻译得可能不太达意,翻译为十分常用的API,应该会更好理解一些。

照常,废话不多说,直接看源码。上一张源码结构图:

我们可以看到,Standard.kt文件里包括两类API,TODO函数和各种block函数。

一、TODO

从源码里,我们知道Kotlin增强了TODO的功能,如果调用TODO函数,当执行到的时候,直接throw一个Error,而不是像Java/C++一样,只在注释里写TODO,其实还是能运行过的。我觉得这个应该是从实践中总结出来的,依我个人经验来说,项目里有很多TODO,甚至也@xx了,可能很难推动去改,项目里的编译warnings也是一样。可能是为了项目进度等原因,TODO和warnings总是遗留在我们的代码中,所以Kotlin的这种做法,我觉得还是可取的,发现不合理,应该着重解决掉。

当然了,注释级别的TODO提示,依然保留着。

二、block代码块

block代码块,并非Kotlin独有的概念,在Ruby和OC中也有相应的概念。我自己使用block的感受就是简化代码,语法糖的爽。

本来写了一个中文翻译,解释每个block是什么意思,解释返回值是什么,上下文是谁等等,后来越看越觉得这是画蛇添足,源码写得很清晰,再加上些demo,很容易理解;我现在写一些demo,再block上贴关键源码,大家可以看一下。

上代码:

代码很清晰,每个block谁是上下文,谁是返回值,谁是参数。

Kotlin的Standard模块分析到此,欢迎交流评论。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Form和ModelForm组件
我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。
py3study
2020/01/16
5.3K0
12.Django基础十之Form和ModelForm组件
  我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。
changxin7
2019/10/08
3.5K0
Django-多对多关系的三种创建方式-forms组件使用-cookie与session-08
写法和写模型表类极其相似,但是 forms 组件的字段有约束,模型表类的字段没有约束 from django import forms class LoginForm(forms.Form): username = forms.CharField(max_length=8,min_length=3) # 用户名最长八位最短三位 password = forms.CharField(max_length=8,min_length=5) # 密码最长八位最短五位 email = forms.EmailField() # email必须是邮箱格式
suwanbin
2019/09/26
3K0
Django-多对多关系的三种创建方式-forms组件使用-cookie与session-08
Django之Form表单
Django From简介 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示显示对应的错误信息.。 Django form组件就实现了上面所述的功能。 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 Django For
人生不如戏
2018/04/12
3K0
Django Form组件
需要注意的是,foo.errors返回的是li标签,是多个,想看单个字段的错误信息要指定
HammerZe
2022/03/25
7540
Django Form组件
django 的form规则组件的笔记(附代码)
error_messages属性是键值对的形式,键是和其他属性一样,值就是自定义的错误信息
一写代码就开心
2022/06/05
1.1K0
django 的form规则组件的笔记(附代码)
Django—Form、ModelFor
一、Form form.py from django import forms from django.core.exceptions import ValidationError from django.contrib.auth.models import User import re # 定义手机号验证规则 def phone_validate(value): phone = re.compile(r'^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[
py3study
2020/01/16
1K0
32.Django form组件
Form组件  Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML; 1.内置字段 Field required=True, 是否允许为空 widget=None, HTML插件 label=None,
zhang_derek
2018/04/11
3.2K0
Django form表单
Form介绍   之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确,如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误消息。   Django form组建就实现了上面所述的功能。   总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通的登录 views.py de
新人小试
2018/04/12
3.8K0
Django 常用的Form表单
Django最强大的部分之一是自动管理界面。它从模型中读取元数据,以提供一个快速的,以模型为中心的界面,受信任的用户可以在其中管理您网站上的内容。管理员的建议用法仅限于组织的内部管理工具。它并非旨在构建您的整个前端。
王 瑞
2022/12/28
1.3K0
Django学习笔记之form组件的局部钩子和全局钩子
本文通过注册页面的form组件,查看其中使用的全局钩子和局部钩子。 # Create your views here. class RegForm(forms.Form): username = forms.CharField( min_length=3, label="用户名", help_text=‘‘, error_messages={ "required": "不能为空", "in
Jetpropelledsnake21
2018/08/01
1.1K0
Django学习笔记之form组件的局部钩子和全局钩子
Python进阶32-Django forms组件
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
1K0
Python进阶32-Django forms组件
Django学习笔记之利用Form和Ajax实现注册功能
一、注册相关的知识点 1、Form组件 我们一般写Form的时候都是把它写在views视图里面,那么他和我们的视图函数也不影响,我们可以吧它单另拿出来,在应用下面建一个forms.py的文件来存放 2
Jetpropelledsnake21
2018/07/04
9440
一篇文章浅析Django Form组件相关知识
在上一篇时,我们小试牛刀了以下Django Form组件的使用,一篇文章带你了解Django Form组件(入门篇),没来得及的小伙伴可以一起看看。但是你可能会有很多疑问,并不知道怎么使用。
Python进阶者
2021/01/25
1K0
一篇文章浅析Django Form组件相关知识
多对多关系表的创建方式、forms组件
through_fields:指定第三张表中哪两个字段维护表与表之间的多对多关系(这里有先后顺序,外键建在谁那里就先写谁)
GH
2019/12/16
5.5K0
多对多关系表的创建方式、forms组件
Django之forms组件
  我们在写注册页面时,之前只是提交了数据,然后就保存了数据,后端根本就没有对数据进行校验,比如价格写的不是纯数字也让保存,这肯定是不行的,在前端是可以校验的,但我们不能只依靠前端验证,万一前端不校验,那整个过程就没校验了,所以,不管前端有没有校验,我们后端都应该进行验证。
py3study
2020/01/21
2.3K0
python测试开发django-109.ModelForm模型表单的使用
django的表单有2种:forms.Form 和 forms.ModelForm。ModelForm顾名思义是将模型和表单结合起来,这个功能是非常强大的!
上海-悠悠
2021/07/22
1.2K0
Django form表单
form表单的作用:   1.生成HTML代码   2.验证   3.把验证的错误显示在页面上并保留原始数据 form表单的基本使用: form_obj生成HTML代码的方式   1.form_obj.as_p   2.自己挨个字段取   3.{% for field in form_obj %}   {{field.label}}   {{field}}   {% endfor %}
py3study
2020/01/19
4.6K0
Django form表单
Django-form表单
构建一个表单 假设你想在你的网站上创建一个简单的表单,以获得用户的名字。你需要类似这样的模板: ? 1 2 3 4 5 <form action="/your-name/" method="post"
用户1214487
2018/01/24
4.4K0
Python Day18 Django
这样,下次再访问时通过获取cookie中的"sessionid"的值就可以得到所对应的session-data
py3study
2020/01/14
1.2K0
相关推荐
Form和ModelForm组件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档