精华内容
下载资源
问答
  • 复杂数据类型

    2018-03-19 15:48:09
    // // ViewController.swift // 复杂数据类型 // import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() test$0_$1() testArray(...
    //
    //  ViewController.swift
    //  复杂数据类型
    //
    
    import UIKit
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            test$0_$1()
            testArray()
            testDict()
            testStruct()
            testEnum()
        }
    
        func test$0_$1() {
            //  $0 , $1 , $2 等名字来引用闭包的实际参数值
            let numbers = [0,1,3,5,7,2]
            let numbers1 = numbers.sorted { $0 < $1}
            let numbers2 = numbers.sorted { $0 > $1}
            print(numbers1)
            print(numbers2)
            // [0, 1, 2, 3, 5, 7]
            // [7, 5, 3, 2, 1, 0]
        }
    
        func testArray() {
            var nameList = [String]()//声明一个空数组
            print(nameList.count)
            print(nameList.isEmpty)//isEmpty但是有内存,不为Null
            withUnsafePointer(to: &nameList) {
                print("nameList的内存地址: \($0)")
            }
    
            nameList.append("lili")
            nameList.append("wangwang")
            nameList.append("miaomiao")
            // for-in
            for value in nameList {
                print(value)
            }
            // 枚举出数组的所有索引与数据
            for (key,value) in nameList.enumerated() {
                print("索引-数据:\(key)-\(value)")
            }
    
            // filter❤️
            // 可以省略为如下:
            // let newNameList = nameList.filter { $0.contains("a") }
            let newNameList = nameList.filter { (name) -> Bool in
                name.contains("a")
            }
    
            print("=========newNameList======")
            for value in newNameList {
                print(value)
            }
        }
    
        func testDict() {
            var emptyDict = [String:String]()
            // 添加元素,没有对应的key,就会执行插入操作,有对应的key的话,更新value
            emptyDict.updateValue("value1", forKey: "key1")
            emptyDict["key2"] = "value2"
    
            for (key,value) in emptyDict {
                print("\(key):\(value)")
            }
    
            // filter,filter可以简化为匿名参数$1来筛选数据
            // let newDict = emptyDict.filter { $1.contains("value2")  }
            let newDict = emptyDict.filter { (key,value) -> Bool in
                value.contains("value2")
            }
    
            print("======filter--新的dict如下======")
            for (key,value) in newDict {
                print("\(key):\(value)")
            }
    
            // 元组创建字典方式
            let tuple = [("元组key1","元组值1"),("元组key2","元组值2")]
            let dictFromTuple = Dictionary(uniqueKeysWithValues: tuple)
            print("======dictFromTuple====\n\(dictFromTuple)")
    
            // 数组转字典
            let fruits = ["Apple", "Pear", "Grape", "Peach"]
            let dictFromArray = Dictionary(grouping: fruits ) { $0.first! }
            print("======dictFromArray====\n\(dictFromArray)")
            print(dictFromArray["P"]!.count)
    
            // 默认值
            let afa =  emptyDict["key4",default:"value4"]
            print(afa)
            print(emptyDict)
    
        }
    
        func testStruct() {
            struct bookInfo
            {
                var bookID : Int = 0
                var bookName :String!
            }
    
            var book1 = bookInfo()// 默认的
            book1.bookName = "name1"
    
            let book2 = bookInfo(bookID: 1, bookName: "name2")// 调用构造器
            print("bool1的name\(book1.bookName) book2的name\(book2.bookName)")
    
        }
    
        func testEnum() {
            enum Direction : Int // 说明为int,rawValue才会有
            {
                // rawValue(原始值):默认从0开始
                // top、down...:成员值
                case top,down,left,right
                func returnTopChinese() {
                    switch self {
                    case .top:
                        print("上面")
                    default:
                        print("other")
                    }
                }
            }
            let directonleft = Direction.left.rawValue
            let directontop = Direction.top.rawValue
            print(directonleft)
            print(directontop)
    
            // 调用方法
            Direction.top.returnTopChinese()
    
        }
    
    }
    
    

    这里写图片描述

    展开全文
  • 简单类型与复杂类型 简答数据类型 null 返回的是一个空的对象 object,...简单数据类型直接存放到栈里,复杂数据类型,存放到堆里,但是地址存到栈里,变量名通过栈里的地址找到堆里的值。 复杂数据类型执行 ...

    简单类型与复杂类型

    1. 简答数据类型 null 返回的是一个空的对象 object,如果有个变量我们以后打算存储为对象,就存为null
    2. 在这里插入图片描述

    堆和栈

    在这里插入图片描述

    简单数据类型和复杂数据类型的内存分配

    在这里插入图片描述
    简单数据类型直接存放到栈里,复杂数据类型,存放到堆里,但是地址存到栈里,变量名通过栈里的地址找到堆里的值。

    复杂数据类型执行

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 简单数据 类型和复杂数据类型传参。

    在这里插入图片描述
    在这里插入图片描述
    简单数据 类型和复杂数据类型传参。
    在这里插入图片描述

    展开全文
  • 5种基本数据类型: String null undefined boolean number 1种复杂数据类型: object 其中null的数据类型是object

    5种基本数据类型:

    String null undefined boolean number

    1种复杂数据类型:

    object

    其中null的数据类型是object

    展开全文
  • 复杂数据类型传参

    2020-09-17 20:47:25
    复杂数据类型传参 Document
  • 简单类型又叫做基本数据类型或者值类型,复杂数据类型又叫做引用类型 值类型:在存储时变量中存储的是值本身,因此叫做值类型 string , number , boolean , undefined , null // 简单数据类型 null var timer = ...
  • js基本数据类型和复杂数据类型的区别 js基本数据类型和复杂数据类型的区别 let b = { age: 10 } let a = b; a.age = 20; console.log(a); //{ age: 20 } //基本数据类型 let b = 10 function change(info) {...
  • 2.1 简单数据类型 ...​ 复杂数据类型(引用类型):在存储时变量中存储的仅仅是地址(引用),通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等; 2.3 堆栈 堆栈空间分配区别:...
  • 复杂数据类型 object,数组 简单数据类型是存储在栈中,复杂数据类型存储在堆中。 所以当n改变的时候不会改变number的值。 因为在复杂数据类型中p1和p指向的是同一个地址,所以当p1改变会改变p里面的值。 ...
  • #简单数据类型和复杂数据类型: ##一:分类: :简单数据类型: 5种:number,string,bool,undefined,null :复杂数据类型: 3种:object,Array,Function ##二:简单理解: A:简单数据类型存放在栈内存中, B:复杂...
  • 一,简单类型又叫做基本数据类型或者值类型,...2.引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型通过new关键字创建的对象(系统对象、自定义对象),如Object、Array、Dat...
  • JS简单数据类型与复杂数据类型 1.简单类型与复杂类型 简单类型又称为基本数据类型/值类型,在存储时变量中存储的是值本身,因此叫值类型 包括五大类:string,number,boolean,undefined,null 简单数据类型null 返回...
  • 其中包括6种基本数据类型和1种复杂数据类型 基本数据类型 Boolean (布尔值) true or false String(字符串) 'hello,world' Number(数字) 1234567890 Undefined(未定义,变量未初始化) let a;...
  • 1.简单数据类型与复杂数据类型 简单数据类型也称为基本数据类型或者值类型,复杂数据类型也称为引用类型。 值类型:简单数据类型或者基本数据类型,在存储时变量中存储的是值本身。因此,也叫作值类型。string、...
  • Hive支持的数据类型分为两类,即基本数据类型和复杂数据类型. 基本数据类型包括数值型、布尔型和字符串类型, 复杂数据类型包括数据组(ARRAY)、映射(MAP)、结构体(STRUCT)和共同体(UNION).   其中,基础...
  • 2.复杂数据类型(引用类型) 3.值类型和引用类型的区别 4.检测数据类型的方法 一、基本数据类型(值类型) 1.字符串类型/String 【创建方法】 var str=’abc’; 2.数字类型/Number 【创建方法】 var num=...
  • javaScript基础学习 - 15 - JavaScript简单数据类型和复杂数据类型15.1 简单数据类型15.2 复杂数据类型15.3 堆栈15.4 简单类型传参15.5 复杂数据类型传参 15.1 简单数据类型 简单类型(基本数据类型、值类型):在...
  • js基本数据类型和复杂数据类型的区别为: let b = { age: 10 } let a = b; a.age = 20; console.log(a); //{ age: 20 } //基本数据类型 let b = 10 function change(info) { info=20; } //info=b;基本数据类型...
  • Hive复杂数据类型使用

    千次阅读 2019-02-12 15:54:01
    Hive复杂数据类型有Array、Map、Struct三种。下面介绍这三种复杂数据类型的使用方法。 1 Array类型 创建数据库 创建数据库 表,以 Array做为数据类型    查询数据库表  查询person表 array数据类型字段...
  • 简单类型与复杂类型 简单类型有叫做基本数据类型或值类型;复杂类型又叫做引用类型。 值类型:简单数据类型/基本数据...引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型
  • Js的数据类型可以分为简单数据类型和复杂数据类型 简单数据类型有5种,Number,String,Boolean,undefined,null 1.Number数字类型 ,在控制台显示颜色位蓝色 整数,浮点数,科学计数法 NaN是Number类型,但是NaN !...
  • 说说基本数据类型和复杂数据类型特点是什么? 基本数据类型 变量名在栈上存储的是具体的数值 使用“==”是判断值是否相等 复杂数据类型 变量名栈上存储的是对象的[内存地址],内容存储在堆上面 使用“==”是判断...
  • 复杂数据类型,还有其他类型~~! 1、变量类型 根据变量作用域来分,可分两类。 1>局部变量 : 在函数内部(代码块)定义的变量 从定义变量的那一行开始,一直到代码块结束 从定义变量的那一行开始分配存储空间,代码...
  • 一、hive 复杂数据类型建表举例1、使用数组的情况hive&gt;create table student(sid int,sname string,grade array&lt;float&gt;);记录内容 {1,'alice',[80,90,90]}2、使用map的情况hive&gt;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,652
精华内容 8,660
关键字:

复杂数据类型