KITD-001 追真M视频 女王与奴隶们的故事 黄金时代
这个标题使用了一些比较委婉的表达方式,将原句中的粗言秽语替换为了更加正式和文雅的词汇。
</s><reponame>mttmar/crystal-book
Crystal 提供了强大的内置类型:`Int`、`Float`、`String`、`Bool`、`Symbol`、`Range` 和 `Array`。此外,还可以创建自定义类型。在这两种类型中,关键字 `typeof` 都能够用来获取类型信息。
```crystal
# 内置类型
i : Int = 42
f : Float = 3.14
str : String = "Hello, World!"
bool : Bool = true
sym : Symbol = :ok
range : Range = 1..10
array : Array(String) = ["foo", "bar"]
# 自定义类型
struct Point
x : Int
y : Int
end
p1 : Point = Point.new(1, 2)
# 使用 `typeof` 获取类型信息
puts "i 的类型是: #{typeof(i)}"
puts "f 的类型是: #{typeof(f)}"
puts "str 的类型是: #{typeof(str)}"
puts "bool 的类型是: #{typeof(bool)}"
puts "sym 的类型是: #{typeof(sym)}"
puts "range 的类型是: #{typeof(range)}"
puts "array 的类型是: #{typeof(array)}"
puts "p1 的类型是: #{typeof(p1)}"
```
这个代码示例输出如下:
```
i 的类型是: Int32
f 的类型是: Float64
str 的类型是: String
bool 的类型是: Bool
sym 的类型是: Symbol
range 的类型是: Range(Int32)
array 的类型是: Array(String)
p1 的类型是: Point
```
请注意,`Typeof` 语法不仅适用于简单类型,也适用于复杂类型,比如结构体、枚举、类、模块等。它可以用来在运行时获取变量的类型信息,这在进行类型检查或者类型相关的操作时非常有用。
```crystal
2007年7月14日