当前位置: 首页 > news >正文

Kotlin

函数命名

针对您目前为止学到的 Kotlin 知识,下面给出了一些相关样式指南:

  • 函数名称应采用驼峰式大小写形式,并且应该是动词或动词短语。
  • 每个语句都应单独占一行。
  • 左花括号应出现在函数开始行的末尾。
  • 左花括号前应有一个空格。

变量声明

在这里插入图片描述

变量格式

与您在函数名称中学到的一样,变量名称应遵循驼峰式大小写惯例。变量名称中的第一个单词全部小写。如果名称中包含多个单词,则各个单词之间不应有空格,所有其他单词的首字母都应大写。

类型推断

利用类型推断,当 Kotlin 编译器可以推断(或确定)变量应属的数据类型时,您不必在代码中写入确切类型。这意味着,如果您为变量提供了初始值,就可以在变量声明中省略数据类型。Kotlin 编译器会查看初始值的数据类型,并假定变量会存储该类型的数据。

val count: Int = 2
val count = 2

如果您在声明变量时未提供初始值,就必须指定类型。
下面这行代码未提供初始值,因此您必须指定数据类型:
val count: Int
下面这行代码已提供赋值,因此您可以省略数据类型:
val count = 2

模板表达式

在 count 变量前面添加美元符号 $(即 “You have $count unread messages.”)来修正您的程序。这是一个字符串模板,因为它包含模板表达式,在本例中为 $count。模板表达式是一种会将求得的值替换到字符串中的表达式。在本例中,模板表达式 $count 的求值结果为 2,并且 2 会替换到表达式所处的字符串中。

fun main() {val count: Int = 2println("You have $count unread messages.")
}
You have 2 unread messages.

创建一个新程序,在其中为收件箱中未读电子邮件的数量定义一个整数变量,并为其提供初始值(例如 5)。您可以根据需要选择其他数字。为收件箱中的已读电子邮件数量定义第二个整数变量,并为其提供初始值(例如 100)。您可以根据需要选择其他数字。接着,将两个整数相加后,输出收件箱中的邮件总数。

fun main() {val unreadCount = 5val readCount = 100println("You have ${unreadCount + readCount} total messages in your inbox.")
}
You have 105 total messages in your inbox.

在学习字符串模板时,我们了解到,可以在单个变量名称前加上 $ 符号。但是,如果您使用更复杂的表达式,就必须用大括号将该表达式括起来,并在大括号前添加 $ 符号:${unreadCount + readCount}。用大括号括起来的表达式(即 unreadCount + readCount)的求值结果为 105。然后,105 这个值会替换到字符串字面量中。

关键字

val 关键字 - 预计变量值不会变化时使用。
var 关键字 - 预计变量值会发生变化时使用。

相关文章:

Kotlin

函数命名 针对您目前为止学到的 Kotlin 知识,下面给出了一些相关样式指南: 函数名称应采用驼峰式大小写形式,并且应该是动词或动词短语。每个语句都应单独占一行。左花括号应出现在函数开始行的末尾。左花括号前应有一个空格。 变量声明 变…...

和未来合伙人的共同价值观 - 初期

一定要互补,能力板块的互补。 价值观一定要正。 如何管理创业团队? 层级是一个公司逼不得已才要做的,每一个层级的堆积,都会带来一些压力和效率的损失,你一旦把这个团队,变成了十个十个人的团队&#xf…...

虚函数表存储的位置(解析C++内存分配及其编译分段)

先上结论:C虚函数表保存在.rdata只读数据段。编译时期由编译器确定虚函数表。虚函数表属于类,类的所有对象共享这个类的虚函数表。 c/c的内存分配 栈(stack):又称堆栈,栈是由编译器自动分配释放&#xf…...

JS如何正确销毁 VIDEO 和AUDIO 元素

销毁 VIDEO 元素意味着停止视频的播放,并释放与其相关的所有资源。 一般情况下,我们可以通过调用 VIDEO 元素的 pause() 方法来停止视频播放,然后使用 remove() 方法从 DOM 树中删除元素。 但是,仅仅这样做可能并不能完全卸载 V…...

SpringMvc第四战-【SpringMvc文件上传,下载】

目录 一.SpringMvc文件上传 1.导入依赖(在pom.xml中) 2.配置文件上传解析器(在spring-mvc.xml中) 3.前端标记多功能表单(构建一个jsp界面来操作) 4.将文件写出流,然后写入服务器 5.配置映…...

一种结合白平衡统计信息和曝光信息的软光敏算法专利学习(专利四)

图像分块: 参见下图,一幅图像大小为5*6(像素),每个像素包含R、G、B三个分量,该图像划分为4个分块,第一分块的大小为3*3像素,第二分块的大小为3*3(像素),第三分块的大小为2*3像素,第四…...

华为数通方向HCIP-DataCom H12-821题库(单选题:301-320)

第301题 某台路由器运行 IS-IS,其输出信息如图所示,下列说法错误的是? [R1]display isis sdb local verboseDatabase information for ISIS(1) Level-1 Link State Database LSPID Seq Num Checksum Holdtime…...

dll文件反编译源代码 C#反编译 dotpeek反编译dll文件后export

目录 背景下载安装dotpeek导入dll文件export导出文件参考 背景 项目合作的时候,使用前人的或者其他部门dll文件直接在机台运行,会出现很多问题,逻辑,效率等等,此时我们可以选择对他们的代码进行反编译和重构&#xff…...

地图结构 | 图解占据栅格地图原理(附Matlab建图实验)

目录 0 专栏介绍1 栅格地图1.1 应用场景1.2 基本概念 2 占据栅格地图2.1 更新模型2.2 截断策略 3 仿真实现3.1 算法流程3.2 Matlab实现 0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索…...

element-plus点击菜单栏全部展开问题解决

这是由子菜单项的index属性引起的,子菜单项的index属性添加相同的值时就会出现这种情况。所以为每个子菜单项添加不同的index属性值就可解决。...

React 简便获取经纬度

以下是关于React获取定位经纬度的代码解释: import React, { useEffect, useState } from react;const LocationComponent () > {const [latitude, setLatitude] useState(null);const [longitude, setLongitude] useState(null);useEffect(() > {navigat…...

【多线程】线程安全的单例模式

线程安全的单例模式 饿汉模式懒汉模式单线程版多线程版多线程版(改进) 单例模式能保证某个类在程序中只存在 唯一 一份实例, 而不会创建出多个实例,从而节约了资源并实现数据共享。 比如 JDBC 中的 DataSource 实例就只需要一个. 单例模式具体的实现方式, 分成 “饿…...

Competitive Collaboration 论文阅读

论文信息 题目:Competitive Collaboration: Joint Unsupervised Learning of Depth, Camera Motion, Optical Flow and Motion Segmentation 作者:Anurag Ranjan, Varun Jampani, Lukas Balles 来源:CVPR 时间&#x…...

非科班菜鸡算法学习记录 | 代码随想录算法训练营完结!

这俩月终于结束了233333,之后就是反复复习和背八股了吧,然后整整项目春招再投投投,感觉大部分题都有思路了但是做过的题也会没思路,还是要复习 总结 数组: 双指针用的很多,一般一个指向遍历位置&#xff0…...

C语言实现三字棋

实现以下: 1游戏不退出,继续玩下一把(循环) 2应用多文件的形式完成 test.c. --测试游戏 game.c -游戏函数的实现 game.h -游戏函数的声明 (2)游戏再走的过程中要进行数据的存储,可以使用3*3的二维数组 char bor…...

【LeetCode】35.复杂链表的复制

题目 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 输入:head [[7,null],[13,0],[11,4]…...

代码大全阅读随笔(五)

数据初始化要点: 数据初始化过程很容易出错,所以请使用本章介绍的方法,来初始化数据,从而避免由于非预期的初始化值而造成的错误。 最小化变量作用域。 使用相同的变量的语句尽可能的集中在一起。 早期绑定会减少灵活性&#xff0…...

No1.详解【2023年全国大学生数学建模竞赛】C题——蔬菜类商品的自动定价与补货决策(代码 + 详细输出 + 数据集代码 下载)

时间告诉你什么叫衰老,回忆告诉你什么叫幼稚。不要总在过去的回忆里纠缠,昨天的太阳,晒不干今天的衣裳。 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客…...

有什么好用的电容笔?apple pencil替代品推荐

近年来,电容笔越来越成为人们日常生活中常见的数码产品之一。电容笔的便捷性得到了消费者的认可。它逐渐取代无纸化书写。那么到底电容笔哪个品牌好呢,电容笔哪一款最好用呢,今天小编给大家总结几款市面好用的电容笔,让我们一起来…...

什么是回调函数?写出一个示例?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 回调函数⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入前…...

深度学习在医疗保健领域的应用:从图像识别到疾病预测

文章目录 深度学习在医学影像识别中的应用1. 癌症检测2. 病理学图像分析3. 医学图像分割 深度学习在疾病预测中的应用1. 疾病风险预测2. 疾病诊断辅助3. 药物研发 深度学习在个性化治疗中的应用1. 基因组学分析2. 临床数据集成 深度学习在医疗保健中的挑战和未来数据隐私和安全…...

SpringBoot实现自定义environment中的value加密

environment中的value为什么要加密? 未经过加密的配置文件,密码均是采用明文密码,很容易导致信息泄露。 SpringBoot environment中的value加密代码如下 package com.xxx.core.encryption;import com.google.common.collect.Maps; import lomb…...

celery的用法--任务调度

在Celery中,任务(Task)是执行特定操作的基本单元。任务可以异步执行,可以带有参数,可以返回结果,可以链式调用,还可以设置任务优先级、超时等属性。 1.定义任务: 使用app.task装饰器…...

MyBatis-Plus学习笔记总结

一、查询 构造器分为QueryWrapper和LambdaQueryWrapper 创建实体类User package com.system.mybatisplus.model;import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.…...

How Language Model Hallucinations Can Snowball

本文是LLM系列文章,针对《How Language Model Hallucinations Can Snowball》的翻译。 语言模型幻觉是如何产生雪球的 摘要1 引言2 为什么我们期待幻觉像滚雪球一样越滚越大?3 实验4 我们能防止雪球幻觉吗?5 相关工作6 结论局限性 摘要 在实…...

autojs修改顶部标题栏颜色

顶部标题栏的名字是statusBarColor 不是toolbar。难怪我搜索半天搜不到 修改之后变成这样了 代码如下: "ui"; importClass(android.view.View); importClass(android.graphics.Color); ui.statusBarColor(Color.parseColor("#ffffff")); ui.…...

arppy gis 读取text 并批量添加字段 arcpy.AddField_management

arppy gis 读取text 并批量添加字段 arcpy.AddField_management 例:给“省级行政区域”添加“A、B、C、D” 4个字段。 (1)用Excel制作出字段及其描述表,定义字段结构; (2)复制除标题行以为的内…...

Pandas中at、iat函数详解

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 at 函数:通过行名和列名来取值(取行名为a, 列名为A的值) iat 函数:通过行号和列号来取值(取第1行,第1列的值) 本文给出at、iat常见的…...

【Spring Boot】JPA — JPA入门

JPA简介 1. JPA是什么 JPA是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据,通过注解或者XML描述“对象-关系表”之间的映射关系,并将实体对象持久化到数据库中,极大地简…...

c#反射(Reflection)

当我们在C#中使用反射时,可以动态地获取和操作程序集、类型和成员。下面是一个简单的C#反射示例,展示了如何使用反射来调用一个类的方法: using System; using System.Reflection;public class MyClass {public void MyMethod(){Console.Wri…...

做互联网需要网站吗/优化人员配置

结合网上的资料,自己亲自的去安装了一次MySQL,安装版本是win7x64 5.7.16。在安装过程中出现并解决了如下问题:1.“MySQL 服务无法启动 服务没报告任何错误”2.启动MySQL服务的时候,提示“发生系统错误 2,系统找不到指定的文件”。…...

凡科轻站官网/地推接单在哪个平台找

shell脚本执行报错exec format error,脚本权限没有问题: 原因可能是脚本里#!/bin/bash和#!/bin/sh兼容问题导致,标准系统支持的都是/bin/bash; 首先查看当前系统的bash或dash: [rootlocalhost ~]# ls -l …...

移动免费网站建设/今日国际新闻头条

王阳明:人生即修行 笔记 少说多听,必有收获 人的心灵成长地图要求我们,必须要随时更正自己的前进方向,不能更正,或是拒绝更正心灵成长路线图的人只能困在原地,永远绕弯。 心阳光,世界不会黑暗…...

wordpress form manager 中文/网站排名顾问

怎么把pdf拆分成一页一个文件?我们经常会遇到PDF文档里面的页面比较多,但是有时候我们只需要其中的一部分内容,该怎么办呢,这个时候就需要把这个PDF文件拆分成多个pdf文件了,或者按页面,或者只需要其中一两…...

wordpress 询价记录/郑州seo价格

现代工业的大规模发展,工业世界对于生产效率和工人生产环境的要求越来越高,企业对于自动化生产的需求也越来越多,那么桁架机器人与数控机床组合下的自动化生产线就具有非凡的意义。桁架机器人的优势桁架机器人通过控制系统对各种输入信号的分…...

长春公司网站建设/百度seo2022新算法更新

linux安装Navicat,界面出现乱码解决方法 (转发)参考文章: (1)linux安装Navicat,界面出现乱码解决方法 (转发) (2)https://www.cnblogs.com/miao…...