双冒号 (::) 在 Elm 中是什么意思?

What does the double colon ( :: ) mean in Elm?

我是 Elm 的新手,我刚刚遇到这个:

update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
  case msg of
    UrlChange location ->
      ( { model | history = location :: model.history }
      , Cmd.none
)

谁能告诉我第 5 行中双冒号的作用?

那是 cons 运算符。它将一个项目添加到列表的前面。

1 :: [2,3] == [1,2,3]
1 :: [] == [1]

文档:

https://package.elm-lang.org/packages/elm/core/latest/List#::