You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gleam中仅导入类型构造器?

如何在Gleam中正确导入Option类型的None构造器?

你之前的写法错误在于,None是Option类型的构造器而非独立类型,不能用type关键字来导入它。以下是几种正确的实现方式:

方式一:单独导入None构造器

直接导入构造器名称即可,不需要type前缀:

import gleam/option.{None}

pub type MyType {
  MyType(value: Option(Int))
}

pub fn build_type() {
  MyType(None)
}

方式二:同时导入Option类型和None构造器

如果代码中需要用到Option类型做注解,可以一次性导入类型和构造器:

import gleam/option.{Option, None}

pub type MyType {
  MyType(value: Option(Int))
}

pub fn build_type() {
  MyType(None)
}

方式三:导入整个模块后通过模块名访问

也可以导入整个gleam/option模块,之后通过模块前缀来访问类型和构造器:

import gleam/option

pub type MyType {
  MyType(value: option.Option(Int))
}

pub fn build_type() {
  MyType(option.None)
}

补充说明

在Gleam里,类型(比如Option)和它的构造器(None、Some)是不同的概念:

  • 用type关键字只能导入类型本身
  • 导入构造器时直接写构造器名称即可,无需额外关键字

内容的提问来源于stack exchange,提问作者Ruslan Ustitc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:47:02