Gleam 1.0.0中struct定义编译报错,求解决方案
Gleam 1.0.0 结构体定义语法报错的解决方案
你的问题是因为Gleam 1.0.0已经废弃了旧的struct关键字语法,现在需要使用**带字段的自定义类型(record)**语法来定义结构体。
修正后的代码
// src/first.gleam pub type Cat { Cat(name: String, is_cute: Bool) } pub fn main() { Cat(name: "Nubi", is_cute: True) }
关键修改点
- 把原代码中的
pub struct Cat { ... }替换为pub type Cat { Cat(name: String, is_cute: Bool) }:这是Gleam 1.0+版本定义带命名字段的自定义类型的标准写法,本质是构造器与类型同名的代数数据类型。 - 实例化结构体的代码
Cat(name: "Nubi", is_cute: True)可以保持不变,Gleam依然支持关键字参数的写法。
修改完成后,重新运行gleam run即可正常编译执行。
内容的提问来源于stack exchange,提问作者oughy
相关产品推荐
相关产品推荐

