首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么"return Nothing“不返回任何东西?

"return Nothing"不返回任何东西是因为在编程中,关键字"return"用于将值从一个函数传递回调用它的地方。当我们使用"return"关键字时,我们可以指定要返回的值。但是,当我们使用"return Nothing"时,我们实际上是在返回一个特殊的值,表示没有返回任何东西。

在大多数编程语言中,"Nothing"通常表示空值、空对象或者表示没有值的情况。它可以用于表示函数没有返回任何有意义的结果,或者在某些情况下表示错误或异常。

"return Nothing"的使用场景包括:

  1. 函数没有返回值的情况下,可以使用"return Nothing"来明确表示这一点。
  2. 在某些错误或异常情况下,可以使用"return Nothing"来表示没有返回任何有效结果。

腾讯云相关产品和产品介绍链接地址:

  • 云函数(Serverless):https://cloud.tencent.com/product/scf
  • 云开发(CloudBase):https://cloud.tencent.com/product/tcb
  • 云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 区块链(Blockchain):https://cloud.tencent.com/product/baas
  • 元宇宙(Metaverse):https://cloud.tencent.com/product/tgpa
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Rust问答】关于函数return时候返回值的疑惑

help: consider using a semicolon here | |_____| | expected this to be `()` 看的出来编译器认为这个函数返回的是...unit (),而if里面的0却是integer,所以报错了 我知道下面2种做法可以编译通过: 把1放进else里面 在0前面显式的加上return 现在问题来了: 这个编译不通过的函数,我标注了返回类型为...i32,而且函数体内怎么看返回的也不是()啊,为什么编译器会认为返回的是()类型呢?...if n > 0 { 0 } 1 } rust编译器认为函数体是由一个语句和表达式组成的 if n > 0 { 0 } 和 1 因为没有else,所以它不认为if 代码块是表达式的一部份 所以做为函数返回值的是...1 这个表达式 第一个语句中的代码块的最后一行是表达式,但其它本身又不是条件赋值语句,所以编译器认为代码块应该返回的是(),也就是unit类型 c5soft 2019-12-18 21:26 if 作为

2.7K20

四张图带你搞定原型和原型链

从图中可以清晰的看出函数本质上是通过new Function生成的,尽管我们平时不会这么去写,当然也建议这么去写 function Test(){} //相当于 let Test = new Function...Function函数也是函数,刚刚我们说函数是通过new Function生成,但它是一种特殊的情况,不通过任何东西创建,它是JS引擎启动的时候直接添加到内存当中的。...这张图很清晰说明了prototype和constructor之间的关系,每个函数(add、Object、Array、nothing)都有一个属性prototype,它指向函数的原型,而函数的原型中也有一个属性...__proto__ === Test.prototype; 返回true 举个栗子: function Test(){ return {};// 这里{}是语法糖,本质上是通过new Object...细心的小伙伴应该已经发现对象1的__proto__、对象2的__proto__以及函数add的prototype三者指向同一块内存空间,这也就解释了为什么要把函数写在原型上,这是因为将函数写在原型上,只要是通过

44610

Kotlin 的 Nothing 详解

} } 在这个函数里,一个 if 判断,true 就返回,false 就抛异常,这个写法很常见吧?它在 else 的这个分支,是不是就只抛异常而返回值了?...实际上 Java 和 Kotlin 的任何方法或者说函数,在抛异常的时候都是返回值的——你都抛异常的还返回啥呀返回?是吧?...但是我如果直接用 Nothing,而是把它作为泛型类型的实例化参数: val emptyList: List = ???...虽然说由于抛异常这件事已经跳出了程序的正常逻辑,所以 throw 返回返回值、返回值类型是不是 Nothing 对于它本身都不重要,但它让这种写法成为了合法的: val nothing: Nothing...,规定 return返回值是 Nothing,让代码从语法层面就能得到解释。

28330

Django REST 框架详解 03 | 模型建立与表设计

文章目录 一、设计表 二、表关系 1.表关系设置 2.断开表关联 三、级联操作 1.CASCADE 2.SET_NULL 3.SET_DEFAULT 4.DO_NOTHING 四、Admin...只要入库的数据,永远不会被删除 如果主键 id 自增时,随便删除数据,会导致 id 连续,查询时,会遗漏数据 只要该数据在入库了,就代表该数据有利用价值 为什么 Author, AuthorDetail...删除 AuthorDetail 不会影响 Author 表,但是如果删除 Author,AuthorDetail就会被一起删除 related_name='detail' # 正向查返回...name, 反向返回设置的 related_name ) class Meta: db_table = 'author_detail' verbose_name...三、级联操作 1.CASCADE 2.SET_NULL 3.SET_DEFAULT 4.DO_NOTHING 四、Admin 通过 Admin 我们可以直接通过后台来编辑表 admin.py注册 from

90130

From Java To Kotlin 2:Kotlin 类型系统与泛型终于懂了

return Unit // return Unit 可以省略 } ``` 只不过因为它是个 `object` ,所以唯一能返回的值就是 `Unit` 本身。...除了对于函数返回值类型和返回值的自动补充之外,它的特殊之处更多地在于语义和用途的角度。它是由官方规定的,用于表示**「什么也返回」**的场景的**返回值类型**。...基于这样的前提,当我们写出这个函数声明的时候: ``` fun nothing(): Nothing { } ``` 我们可能无法找到一个合适的值来返回,但是在编写代码时,我们必须返回一个值。...这种情况下,我们遇到了一个悖论,即必须返回一个值,但却永远找不到合适的返回值 #### Nothing的作用: 作为函数 `永远不会返回结果` 的提示 ``` fun nothing() : Nothing...throw 这个表达式的返回值是 Nothing 类型。而既然 Nothing 是所有类型的子类型,那么它当然是可以赋值给任意其他类型的。

43350

从map函数引发的讨论

那么,为什么我们还倾向于使用lodash的map函数?反对的至为关键理由是: lodash的map函数将可能的异常吃掉了! 这里提及的异常,指进行map的数组可能是undefined。...Uncaught TypeError: Cannot read property 'map' of undefined(…) lodash提供的map函数则有些调皮,针对这种所谓的“异常”情况,它不言语默不作声视而不见地忽略了它...至于map函数,其实就是针对数组元素的一个转换,返回结果是存放了转换后元素的新数组。...△ 薛定谔的猫 Nothing用JS来表示,则表示为: Maybe.prototype.Nothing = funciton() { return (this....然而,对于函数的返回值,我们又得心存善意,避免那种可能引发程序崩溃的意外值。 故而在Scala中,对于多数Query操作,若返回结果是单个值,好的实践是尽可能返回一个Option[T]。

1.4K90

第3章 Kotlin 可空类型与类型系统第3章 Kotlin 可空类型与类型系统

如果一个函数的返回值是Nothing,这也就意味着这个函数永远不会有返回值。 但是,我们可以使用Nothing来表达一个从来不存在的返回值。...Nothing类型的表达式计算结果是永远不会返回的(跟Java中的void相同)。 Nothing?可以只包含一个值:null。代码示例: >>> var nul:Nothing?...如果要转换的类型与指定的类型兼容,转换就会成功进行;如果类型兼容,使用as?运算符就会返回值null。...按照Liskov替换原则,父类转换为子类是对OOP的严重违反,不提倡、也建议。...Kotlin中还引入了Unit,Nothing等特殊类型,使得没有返回值的函数与永远不会返回的函数有了更加规范一致的签名。

2.1K20

某大型国企Java岗位面试题,你能做出几道?

程序无限循环,不输出任何东西。 B. 输出"42"。 C. 不保证总能输出"42",有时可能不输出任何东西。 D. 抛出异常。 正确答案:C. 不保证总能输出"42",有时可能不输出任何东西。...为什么呢? 这个问题深入探讨了Java内存模型(JMM)及其对多线程程序可见性和重排序的影响。...程序无限循环,不输出任何东西。 这是一个可能的结果,但并不是因为程序实际上会无限循环,而是因为ready变量的更新可能对启动的ReaderThread线程不可见。...不保证总能输出"42",有时可能不输出任何东西。 这是最准确的描述。...A. new Dog() B. new Cat() C. myDog D. myCat 正确答案:B. new Cat() 为什么呢? 本题考察了Java中多态性的理解和应用。

21410

函数式编程了解一下(下)

} } function add (a,b,c) { return a+b+c } curry(add)(1)(2)(3) 一步一步来理解,第一次调用curry函数的时候,返回一个curried...为什么要这样呢?其实还是我们之前说的,函数的原则就是小、单一、简单。因为易测、简单。而我们呢,通过组合使用这些简单的函数而实现一个不简单的函数,完成一个不简单的功能。...Nothing = function(val) { this.value = val; }; Nothing.of = function(val) { return new Nothing(...return Some.of(fn(this.value)); } const Either = { Some : Some, Nothing: Nothing } 上面我们写了两个函数...,Some和Nothing,Some简单易懂,我们来说说Nothing,他也是一个Container,但是其map执行指定的函数,而是直接返回对象本身。

1K20

void 在 JS 和 TS 中的区别

// 每日前端夜话 第588 篇 // 正文共 1200 字 // 预计阅读时间:7 分钟 如果你用过传统的强类型语言,可能会很熟悉 void 的概念:一种类型,告诉你函数和方法在调用时返回任何内容...无论评估哪个表达式,void总是返回undefined。 let i = void 2; // i === undefined 我们为什么需要这样的东西?...undefined,而 void 总是计算它旁边的表达式,你有一个非常简洁的方法从函数返回返回一个值,但仍然调用一个回调例如: // 返回除 undefined 以外的其他内容会使程序崩溃 function...如果你想确保传递只返回 undefined 的函数(如“nothing”),请确保调整你的回调方法签名: - function doSomething(callback: () => void) { +...2; } // 类型匹配 doSomething(aNumberCallback) 大概大部分时间你都能和 void 很好的相处。

4K20
领券