GVKun编程网logo

我可以在Swift的if语句中使用范围运算符吗?(swift if语句)

26

在本文中,我们将带你了解我可以在Swift的if语句中使用范围运算符吗?在这篇文章中,我们将为您详细介绍我可以在Swift的if语句中使用范围运算符吗?的方方面面,并解答swiftif语句常见的疑惑,

在本文中,我们将带你了解我可以在Swift的if语句中使用范围运算符吗?在这篇文章中,我们将为您详细介绍我可以在Swift的if语句中使用范围运算符吗?的方方面面,并解答swift if语句常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的2.13 Swift的位运算符和防溢出运算符 [Swift原创教程]、angularjs – 我可以在ngIf语句中使用过滤器、c# – IF语句中的运算符顺序、if-statement – 我可以在Swift中使用range运算符和if语句吗?

本文目录一览:

我可以在Swift的if语句中使用范围运算符吗?(swift if语句)

我可以在Swift的if语句中使用范围运算符吗?(swift if语句)

是否可以使用范围运算符.....<if语句。可能是这样的:

let statusCode = 204if statusCode in 200 ..< 299 {  NSLog("Success")}

答案1

小编典典

您可以使用“模式匹配”运算符~=

if 200 ... 299 ~= statusCode {    print("success")}

或带有表达式模式的切换语句(内部使用模式匹配运算符):

switch statusCode {case 200 ... 299:    print("success")default:    print("failure")}

请注意,它..<表示忽略上限值的范围,因此您可能需要 200 ... 299200 ..< 300

附加信息: 在优化打开的情况下,在Xcode 6.3中编译以上代码时,进行测试

if 200 ... 299 ~= statusCode

实际上根本不产生任何函数调用,只有三个汇编指令:

addq    $-200, %rdicmpq    $99, %rdija  LBB0_1

这与生成的完全相同的汇编代码

if statusCode >= 200 && statusCode <= 299

您可以使用

xcrun -sdk macosx swiftc -O -emit-assembly main.swift

从Swift 2开始, 这可以写成

if case 200 ... 299 = statusCode {    print("success")}

2.13 Swift的位运算符和防溢出运算符 [Swift原创教程]

2.13 Swift的位运算符和防溢出运算符 [Swift原创教程]

原文:http://www.coolketang.com/staticCoding/5a99242517d0090035985c31.html

1. 本节课将为你演示,位运算符的使用。位运算符在各种语言中都存在,主要包含取反、与、或、异或等运算。



2. 首先定义一个无符号的整型常量,并设置其值为二进制的格式。
3. 对二进制数据进行取反运算,并观察右侧实时反馈区显示的结果。
4. 接着定义另外两个二进制格式的常量。
5. 通过[与]运算符,对两个二进制数值,按位进行与运算。
6. 对两个二进制数值,按位进行异或运算。
7. 定义另一个无符号的整型常量。
8. 通过左移运算符,将整数的二进制数值左移两位,使整数的值放大到4倍。
9. 通过左移运算符,将整数的值放大到16倍。
10. 通过右移运算符,将整数的二进制数值右移两位,将整数的值缩小至四分之一。
11. 接着演示溢出运算符的使用,首先获得16位整数的最大值。
12. 将拥有最大值的变量增加2,此时出现溢出的错误提示。
13. 然后将加号运算符,修改为溢出运算符,此时变量的值,将被约束为一个合理的值。
14. 位运算符可以直接应用在整数上,首先定义一个整型常量。
15. 最后使用[与]运算符,对两个整数进行[与]运算。尝试更改常量x的值,并观察右侧实时反馈区结果的变化。
本文整理自:《Swift4互动教程》,真正的 [手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载: https://itunes.apple.com/cn/app/id1320746678 ,或扫描本页底部的二维码。课程配套素材下载地址: 资料下载

angularjs – 我可以在ngIf语句中使用过滤器

angularjs – 我可以在ngIf语句中使用过滤器

有没有办法在ng-if语句中使用过滤器?

例如:

<div ng-if="someVarString == ('someValue' | translate )">
        <span>Hello</span>
    </div>

注意:translate过滤器返回一个字符串

我知道如何在控制器内部进行,但我想在HTML上使用

解决方法

是的有效.这是一个傻瓜: http://plnkr.co/edit/vpCzutMnEFlTWC9gceU3?p=preview

angular.module('plunker').filter('two',function() {
  return function (input) { return 2; }
});

相当于你的代码:

<div ng-if="2 == ('foobar' | two )">
  <span>Hello</span>
</div>

所以你的问题必须在其他地方.

c# – IF语句中的运算符顺序

c# – IF语句中的运算符顺序

我经常在必要时执行此操作以防止空指针异常:

// Example #1
if (cats != null && cats.Count > 0)
{
  // Do something
}

在#1中,我总是假设猫!= null需要先行,因为操作顺序从左到右进行评估.

但是,与示例#1不同,现在我想要做一些事情,如果对象为null或Count为零,因此我使用逻辑OR而不是AND:

// Example #2
if (table == null || table.Rows == null || table.Rows.Count <= 0)
{
  // Do something
}

逻辑比较的顺序是否重要?或者我也可以反转顺序并获得相同的结果,例如在示例#3中?

// Example #3
if (table.Rows.Count <= 0 || table.Rows == null || table == null)
{
  // Do something
}

(顺便说一下,我意识到我可以像下面那样重写#2,但我觉得它很乱,而且我仍然对OR运算符感到好奇)

// Example #4
if (!(table != null && table.Rows != null && table.Rows.Count > 0))
{
  // Do something
}

解决方法

是的,在这两种情况下都会发生短路,唯一的区别在于&&如果LHS为假(因为整体表达式必须为假),则在||时停止如果LHS为真,则停止(因为整体表达式必须为真).

您问题中的前两个示例是正确的,如果table或table.Rows为null,则第三个将抛出异常.

if-statement – 我可以在Swift中使用range运算符和if语句吗?

if-statement – 我可以在Swift中使用range运算符和if语句吗?

可以使用范围运算符…和..&用if语句。 Maye像这样:
let statusCode = 204
if statusCode in 200 ..< 299 {
  NSLog("Success")
}
你可以使用“pattern-match”运算符〜=:
if 200 ... 299 ~= statusCode {
    println("success")
}

或者具有表达式模式(使用模式匹配)的switch语句
运算符):

switch statusCode {
case 200 ... 299:
    println("success")
default:
    println("failure")
}

注意,表示省略上限值的范围,因此您可能需要
200 … 299或200。 300。

附加信息:当上面的代码在Xcode 6.3中编译时
优化打开,然后进行测试

if 200 ... 299 ~= statusCode

实际上根本没有生成函数调用,只有三个汇编指令:

addq    $-200,%rdi
cmpq    $99,%rdi
ja  LBB0_1

这是为生成的完全相同的汇编代码

if statusCode >= 200 && statusCode <= 299

您可以验证

xcrun -sdk macosx swiftc -O -emit-assembly main.swift

从Swift 2开始,这可以写成

if case 200 ... 299 = statusCode {
    print("success")
}

使用新引入的if语句的模式匹配。
参见Swift 2 – Pattern matching in “if”。

我们今天的关于我可以在Swift的if语句中使用范围运算符吗?swift if语句的分享已经告一段落,感谢您的关注,如果您想了解更多关于2.13 Swift的位运算符和防溢出运算符 [Swift原创教程]、angularjs – 我可以在ngIf语句中使用过滤器、c# – IF语句中的运算符顺序、if-statement – 我可以在Swift中使用range运算符和if语句吗?的相关信息,请在本站查询。

本文标签: