Swift 我如何定义!!作为自定义后缀运算符?

Swift 我如何定义!!作为自定义后缀运算符?,swift,operators,Swift,Operators,我正在尝试创建自己的自定义运算符 postfix operator !! //error static postfix func !! (optionalValue: Optional<T>) -> T { // realisation } postfix操作符//错误 静态后缀函数!!(可选值:可选)->T{ //实现 } 我收到错误信息 运算符声明中应包含运算符名称 在声明中。自定义运算符只能使用一组受限字符,有些运算符是保留的,不能重载。 精

我正在尝试创建自己的自定义运算符

postfix operator !! //error

static postfix func !! (optionalValue: Optional<T>) -> T {
        // realisation
    }
postfix操作符//错误
静态后缀函数!!(可选值:可选)->T{
//实现
}
我收到错误信息

运算符声明中应包含运算符名称


在声明中。

自定义运算符只能使用一组受限字符,有些运算符是保留的,不能重载。 精确的规则记录在中。特别是(重点加上):

尽管可以定义包含问号(?)的自定义运算符,但它们不能仅由单个问号字符组成。此外,尽管运算符可以包含感叹号(!),但后缀运算符不能以问号或感叹号开头。

  • 您的运算符是泛型运算符,因此必须使用
    T
    声明为占位符类型
  • 除非在类型中定义,否则函数不能是静态的
工作示例:

postfix operator =!!

postfix func =!! <T> (optionalValue: Optional<T>) -> T {
    // realization
}
postfix操作符=!!
后缀func=!!(可选值:可选)->T{
//实现
}

自定义运算符只能使用一组受限字符,有些运算符是保留的,不能重载。 精确的规则记录在中。特别是(重点加上):

尽管可以定义包含问号(?)的自定义运算符,但它们不能仅由单个问号字符组成。此外,尽管运算符可以包含感叹号(!),但后缀运算符不能以问号或感叹号开头。

  • 您的运算符是泛型运算符,因此必须使用
    T
    声明为占位符类型
  • 除非在类型中定义,否则函数不能是静态的
工作示例:

postfix operator =!!

postfix func =!! <T> (optionalValue: Optional<T>) -> T {
    // realization
}
postfix操作符=!!
后缀func=!!(可选值:可选)->T{
//实现
}
以下是一个示例

//Define a operator
prefix operator √

//create a function  and perform the operation.
prefix func √(lhs: Double) -> Double {
return sqrt(lhs)
}

//Do operation 
let someVal:Double = 25
let squareRoot = √someVal // result is 5
这里有一个例子

//Define a operator
prefix operator √

//create a function  and perform the operation.
prefix func √(lhs: Double) -> Double {
return sqrt(lhs)
}

//Do operation 
let someVal:Double = 25
let squareRoot = √someVal // result is 5

这是不可编译的。正确的版本如下:。发布在其他地方找到的代码时,不要忘记添加指向原始源代码的链接。比较。这不会编译。正确的版本如下:。发布在其他地方找到的代码时,不要忘记添加指向原始源代码的链接。比较一下。