让 "int" 和 "float" 在 swift 游乐场工作

Make "int" and "float" work in swift playground

所以我才刚刚开始自学一点 ios 并且我是一个绝对的业余爱好者(请不要太苛刻并原谅问题,这些问题的答案对你来说可能是显而易见的)。所以我想让下面的代码起作用:

var int bildBreite;
var float bildHoehe, bildFlaeche;
var bildBreite = 8;
var bildHoehe = 4.5;
var bildFlaeche = bildBreite * bildHoehe;

但得到 this screenshot here (link: http://prntscr.com/6cdkvv 中看到的错误)

关于屏幕截图:不要与第 10 行最右边的“6”混淆,这是因为“4.5”之前说的是“6”。

此外,这是一个 xcode 游乐场,我正在尝试的代码来自 objective c 初学者指南,如果有帮助的话。 (整个 swift 和 objective c 的组合太混乱了)

非常感谢您的回答,如果您有更多问题需要正确解决,我很乐意尽快回答。

祝一切顺利

狮子座

int 应该是 Intfloat 应该是 Float。 Class 和 Swift 中的原始名称始终以大写字母开头。

要在 Swift 中声明变量,您可以这样做:

var variableName: Int = intValue

或者您可以让编译器为您决定类型:

var variableNameA = 1
var variableNameB = 1.5

如果你想声明一个变量然后再赋值它,你可以使用一个可选的或隐式解包的可选:

var variableNameA: Int?
var variableNameB: Int!
variableNameA = 1
variableNameB = 2

var variableNameC = variableNameA! + variableNameB

正如您从上一个示例中看到的那样,variableNameA 是可选的(这意味着它可以具有空值,因此在使用之前必须使用 ! 运算符对其进行解包;隐式解包的可选like variableNameB不需要解包,但安全性较低,需谨慎使用。

另请注意,您仅在首次声明变量时使用 var

祝你好运!

var bildBreite:Int = 8
var bildHoehe:Float = 4.5
var bildFlaeche:Float = bildBreite * bildHoehe

你不需要分号。你不需要尝试将 java 或任何其他语言应用于此学习语法,你会很好

让我们看一下代码:

var int bildBreite;
var float bildHoehe, bildFlaeche;

您正在尝试以非Swift 方式设置某些变量的类型。为了声明特定类型的变量,必须在变量名之后加上类型var bildBreite: Int 还要注意class和结构体名称在Swift 以大写字母开头,如@blacksquare 所述。

var bildBreite = 8;
var bildHoehe = 4.5;

在这里,您似乎正在尝试重新声明变量。这是不允许的。

var bildFlaeche = bildBreite * bildHoehe;

您正在尝试将两种不同数字类型之间的数据相乘。 Swift 不允许这样做。为了实际进行任何数学运算,您需要将一个转换为与另一个相同的类型。

这个版本应该可以工作:

var bildBreite: Int;
var bildHoehe: Float;
var bildFlaeche: Float;
bildBreite = 8;
bildHoehe = 4.5;
bildFlaeche = Float(bildBreite) * bildHoehe;

以下代码是您的代码的更简洁版本:

// Inferred to be an Int
var bildBreite = 8
// This forces it to a Float, otherwise it would be a Double
var bildHoehe: Float = 4.5
// First, we convert bildBreite to a Float, then times it with Float bildHoehe.
// The answer is inferred to be a Float
var bildFlaeche = Float(bildBreite) * bildHoehe