swift - 如何将结构的元素添加到函数中

标签 swift struct

我是这方面的新手,所以对于这个问题可能如此简单,我深表歉意。

我试图弄乱结构,基本上想获取我的结构的变量并创建一个简单的计算。

struct Sword {
let name: String
let damage, weight, handle, enchantment : Int
}

let swordSwing = damage + weight + handle + enchantment

我收到错误消息“使用未解析的标识符”。我在这里做错了什么?

我试图将那行代码添加到我的结构中,但在使用 self 时出错。但是在尝试时我得到了另一个错误。

我一直看到结构元素的初始化,我想知道这是否是我需要做的,但我只需要在正确的方向上稍微插入一下。

最佳答案

至少你必须初始化结构的一个实例并赋值。然后你必须在访问它的属性时引用实例

struct Sword {
    let name: String
    let damage, weight, handle, enchantment : Int
}

let sword = Sword(name: "Foo", damage: 2, weight: 4, handle: 6, enchantment: 8)
let swordSwing = sword.damage + sword.weight + sword.handle + sword.enchantment

或者你把数学放到结构中

struct Sword {
    let name: String
    let damage, weight, handle, enchantment : Int

    var swing : Int {
        return damage + weight + handle + enchantment
    }
}

let sword = Sword(name: "Foo", damage: 2, weight: 4, handle: 6, enchantment: 8)

let swordSwing = sword.swing

请阅读Swift Language Guide: Classes and Structs

关于swift - 如何将结构的元素添加到函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47605578/

相关文章:

arrays - 无法将字节 slice 解码回结构

sql - iOS - Realm 查询无法正常工作

xml - 在golang中对降序结构进行排序

c++ - Qt:将结构写入文件

ios - 如何将预填充的 Default.realm 文件放到设备上?

c - 堆栈中使用的 C 中的空指针

c - 我如何在 CFFI 中包装包含结构指针的结构?

swift - 使用类型调用 swift 类的初始值设定项

swift - fatal error : unexpectedly found nil while unwrapping an Optional value: Swift, 核心数据

ios - NEPacketTunnelProvider 嗅探器 iOS