为一个空的非零字符串合并Swift运算符

编程之家收集整理的这篇文章主要介绍了为一个空的非零字符串合并Swift运算符编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Swift中有一个字符串变量:

let foo = "bar"

但它也可以是任何其他任意字符串.现在我想做以下事情:

let bar = ... // either the value of foo,or if foo is "",it will be "default"

我抬头看“合并运算符”,看来这是正确的方向.我用以下代码尝试了它:

let bar = foo ?? "default"

但似乎当foo为空时,它仍将采用此方法,并且它不会将默认设置为值.

我假设合并运算符只能使用nil值而不能使用空字符串.但是,有没有一个解决方案,我可以测试我的值为空字符串,并指定一个默认值?我不能使用if / else,因为它将位于一个类中.

解决方法

“和”之间有区别.因此,您将foo定义为“bar”,因此它是非可选的,因此它永远不会返回nil.听起来你需要的是三元运算符:

let bar = foo.isEmpty ? foo : "default"

另外,为了扩展返回true的答案,你可以创建一个运算符来同时考虑可选字符串和空字符串:

infix operator ???? {}
func ???? (lhs: String?,rhs: String) -> String {
    if let s = lhs {
        if !s.isEmpty {
            return s
        }
    }    
    return rhs
}

总结

以上是编程之家为你收集整理的为一个空的非零字符串合并Swift运算符全部内容,希望文章能够帮你解决为一个空的非零字符串合并Swift运算符所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群:1065694478(已满)
编程之家官方2群:163560250(已满)
编程之家官方3群:312128206(已满)
编程之家官方4群:230427597

相关文章

猜你在找的Swift相关文章

1. 安装 clang 编译器clang 编译器是苹果公司提供的 C 编译器,是 Swift 必需的一个组件。在终端运行下面命令执行安装sudo apt-get --assume-yes install clang或者去 Ubuntu 软件中心搜索 Clang 安装即可极客在安装Clang的时候出现过以下问题解决方法:打开Ub
Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章。自从苹果发布 Swfit 编程语言,就成为了历史上发展最快的编程语言之一。Swift 通过设计使得软件编写更加快速更加安全。 Swift 的 GitHub 地址:https://github.com/apple/swift Swift 是由多种不同的项目组成的,提供一个构建软件的完整生态系统。Swift 编译器项目解析
开发者(KaiFaX) 面向开发者、程序员的专业平台! 和今年年初承诺的一样,苹果贴出了Swift语言的源码,宣布该语言正式开源。值得注意的是,除了Swift,苹果还开源了两个项目:Swfit核心库项目和全新的Swift包管理器项目。 Swift的开源是开发者社区的一个胜利,因这意味着这个语言将可以用于服务器等其它领域,而苹果的开发者也不再是只能用它来为Mac和iOS开发App。 让Swift开源
本文由@Chun发表于Chun Tips :http://chun.tips/blog/2014/12/11/shi-yong-swift-gou-jian-zi-ding-yi-de-activityindicator-view/ 目前在自己的个人项目里,已经开始使用Swift去编写代码。这篇文章把项目中自己设计的一个ActivityIndicator View展示给大家。 在开始之前,我们先看
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过状态管理有多痛苦,有时这是不可避免的。一个状态管理的例子大家都很熟悉,那就是单例。使用Swift时,有许多方法实现单例,这是个麻烦事,因为我们不知道哪个最合适。这里我们来回顾一下单例的历史,看一看在Swift中如何正确地实现单例。 如果你想直接看看S
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过状态管理有多痛苦,有时这是不可避免的。一个状态管理的例子大家都很熟悉,那就是单例。使用Swift时,有许多方法实现单例,这是个麻烦事,因为我们不知道哪个最合适。这里我们来回顾一下单例的历史,看一看在Swift中如何正确地实现单例。 如果你想直接看看S
★ 时间就是金钱。你可以一开始就使用正确的 Swift 教程来节省时间。本文中提到的教程都是这方面的专家写的可靠的教程。 Swift 是一门相对比较新的编程语言,深受广大苹果社区开发者的喜爱。在短短不到一年的时间,很多很多开发者已经转向使用 Swift 编程语言了。苹果开发者们接受 Swift,纯粹是因为 Swfit 更加先进,安全,容易,快速,而且包含适合现代应用开发所需要的所有特性。 在开发
CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投稿、寻求《近匠》报道,或给文章挑错,欢迎发送邮件至tangxy@csdn.net。 不久之前,苹果宣布Swift正式开源,皆大欢喜。又多了好多好玩的新玩意儿,一时间仿佛提前过圣诞了呢!而其中的Swift包管理器(Swift Package Ma