zoukankan      html  css  js  c++  java
  • Swift optional详解

    学习了一阵swift对于optional类型一直不是很了解,为此特意学习了一下,通过观看斯坦福大学的视频,将他所讲的进行了总结

    optional 有两个值  

    1.not set (未设)

    代表这个值没有被任何人设置过, 或者  有人把他设置成了  未设 状态 

    我们说这个是nil , 就是未设 的意思, 就是optional 变量在  未设  状态下的值  not set 

    2.something  (被赋了一个值)

    let digit : String?

    被设置赋了一个值  , 这个值的类型就是  ? 前面那个东西代表的类型

    如果问号左边的那个string 就表示,如果这个optional变量被赋了值的话,那么它的类型就是string  我们可以称它为  optional string

    他确实是  optional类型的  , 他不是一个可以为nil 的String  但是他是optional 类型的  可以被赋值为String  

    unwrapped (解包) 这个optional类型的数据  就是  打开这个optional类型 的 数据 找到它里边的值

    用  !  就可以获取到它的值

    解包出现的两种情况:

    如果optional 的数据 没有设置值 为nil的时候  我们进行解包操作  unwrapped  程序就会崩溃,

    如果不是nil  就会得到String 或者其他类型的数据  

  • 相关阅读:
    HDU 5001 Walk (暴力、概率dp)
    Codeforces Round #265 (Div. 2) C 暴力+ 找规律+ 贪心
    zoj 3812 We Need Medicine (dp 状压)
    ZOJ
    ZOJ 3811 / 2014 牡丹江赛区网络赛 C. Untrusted Patrol bfs/dfs/并查集
    POJ 2411 状压dp
    HDU 3001 三进制 状压dp
    POJ 2096 (dp求期望)
    poj 3311 状压dp 最短路
    数据挖掘的基本概念
  • 原文地址:https://www.cnblogs.com/qiutangfengmian/p/5594911.html
Copyright © 2011-2022 走看看