let i = 32
会给我一个int32
。
如果我想定义一个int64
?
let i = 32L
(Objective Caml 3.07 中引入的 int64 文字的后缀 L)
并使用模块 Int64:http ://caml.inria.fr/pub/docs/manual-ocaml/libref/Int64.html 你也应该真正使用谷歌......
let i = 32
会给你一个 typeint
而不是的值int32
。
您可以int64
通过在 piokuc 和 user1034081 指出的数字后添加 L 来获得一个值,但我不确定这是您想要做的。你为什么要int64
?
OCaml 有一个与其他语言不同的整数内部表示,它将它们存储在 31 位或 63 位(取决于您的架构),因为它需要一个额外的位用于 GC。如果您没有很好的使用理由int64
(即您想在 OCaml 中使用 C 代码或在 C 中使用 OCaml 代码),请使用int
类型。
您可以为 int64 指定后缀“L”:
let i = 32L
导致: val i : int64 = 32L