【F#学习】元组 Tuple

元组是不可变的有序的、大小固定的一组数据。内容可以包含各种类型——包括元组本身。

用括号()和逗号,来声明一个元组。

("one", 2) // Tuple pair (2 values)
("one", 2, true) // Tuple triplet (3 values)

只有拥有相同数据类型和相同大小的元组才可以被比较是否相等。当伽仅当其内所有元素分别相等的时候,称这两个元组相等。

(1, 2) = (1, 2)
// => true

(1, 2) = (2, 1)
// => false

(1, 2) = (1, "2") // 类型不同
// compiler error

(1, 2) = (1, 2, 3) // 长度不同
// compiler error

读取元组中的元素有多种方式:

  • 函数fstsnd
  • 元组解构
  • 模式匹配
let person = ("Jordan", 170)

// 方式1: fst/snd
let name1 = fst person
let length2 = snd person

// 方式2: 解构
let (name2, length2) = person
// => name2 = "Jordan"
// => length2 = 170

// 方式3: 模式匹配
match person with
| name3, length3 -> printf "%s: %d" name3 length3
posted @ 2025-09-26 16:30  QMazon  阅读(7)  评论(0)    收藏  举报