gpt4 book ai didi

swift - Swift 运算符的优先级是多少?

转载 作者:行者123 更新时间:2023-11-28 08:10:40 28 4
gpt4 key购买 nike

我想查找某些运算符的优先级。某处有它们的列表吗?我还没找到。

最佳答案

Updated for Swift 3.0

swift 3.0

现在有一个 page在 Swift 文档中。

下面列出了所有优先组(也可以通过单击 import Swift 的命令看到):

precedencegroup BitwiseShiftPrecedence {
higherThan: MultiplicationPrecedence
}

precedencegroup FunctionArrowPrecedence {
associativity: right
}

precedencegroup AssignmentPrecedence {
associativity: right
assignment: true
higherThan: FunctionArrowPrecedence
}

precedencegroup RangeFormationPrecedence {
higherThan: CastingPrecedence
}

precedencegroup CastingPrecedence {
higherThan: NilCoalescingPrecedence
}

precedencegroup AdditionPrecedence {
associativity: left
higherThan: RangeFormationPrecedence
}

precedencegroup NilCoalescingPrecedence {
associativity: right
higherThan: ComparisonPrecedence
}

precedencegroup ComparisonPrecedence {
higherThan: LogicalConjunctionPrecedence
}

precedencegroup LogicalConjunctionPrecedence {
associativity: left
higherThan: LogicalDisjunctionPrecedence
}

precedencegroup LogicalDisjunctionPrecedence {
associativity: left
higherThan: TernaryPrecedence
}

precedencegroup DefaultPrecedence {
higherThan: TernaryPrecedence
}

precedencegroup TernaryPrecedence {
associativity: right
higherThan: AssignmentPrecedence
}

precedencegroup MultiplicationPrecedence {
associativity: left
higherThan: AdditionPrecedence
}

swift 2.1

在 Swift header 中:

infix operator %= {
associativity right
precedence 90
assignment
}

infix operator >= {
associativity none
precedence 130
}

infix operator != {
associativity none
precedence 130
}

infix operator <<= {
associativity right
precedence 90
assignment
}

infix operator || {
associativity left
precedence 110
}

infix operator += {
associativity right
precedence 90
assignment
}

infix operator / {
associativity left
precedence 150
}

infix operator - {
associativity left
precedence 140
}

infix operator << {
associativity none
precedence 160
}

infix operator |= {
associativity right
precedence 90
assignment
}

infix operator >>= {
associativity right
precedence 90
assignment
}

infix operator <= {
associativity none
precedence 130
}

infix operator -= {
associativity right
precedence 90
assignment
}

infix operator ?? {
associativity right
precedence 131
}

infix operator > {
associativity none
precedence 130
}

infix operator ~= {
associativity none
precedence 130
}

infix operator + {
associativity left
precedence 140
}

infix operator ^ {
associativity left
precedence 140
}

infix operator ... {
associativity none
precedence 135
}

infix operator /= {
associativity right
precedence 90
assignment
}

infix operator * {
associativity left
precedence 150
}

infix operator *= {
associativity right
precedence 90
assignment
}

infix operator & {
associativity left
precedence 150
}

infix operator !== {
associativity none
precedence 130
}

infix operator % {
associativity left
precedence 150
}

infix operator && {
associativity left
precedence 120
}

infix operator &* {
associativity left
precedence 150
}

infix operator &+ {
associativity left
precedence 140
}

infix operator &= {
associativity right
precedence 90
assignment
}

infix operator >> {
associativity none
precedence 160
}

infix operator &- {
associativity left
precedence 140
}

infix operator === {
associativity none
precedence 130
}

infix operator ~> {
associativity left
precedence 255
}

infix operator ..< {
associativity none
precedence 135
}

infix operator < {
associativity none
precedence 130
}

infix operator == {
associativity none
precedence 130
}

infix operator ^= {
associativity right
precedence 90
assignment
}

infix operator | {
associativity left
precedence 140
}

关于swift - Swift 运算符的优先级是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43863678/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com