当前位置: 首页 > news >正文

【golang】 lo.Map使用

基本用法

package mainimport ("fmt""github.com/samber/lo"
)func main() {// 假设我们有一个整数列表numbers := []int{1, 2, 3, 4, 5}// 使用 lo.Map 将每个数字平方squaredNumbers := lo.Map(numbers, func(i int, _ int) int {return i * i})fmt.Println(squaredNumbers) // 输出:[1 4 9 16 25]
}

在这个例子中,lo.Map 遍历 numbers 列表,对于每个元素 i,它调用提供的函数(在这个例子中是匿名函数 func(i int, _ int) int),并将结果收集到一个新的列表 squaredNumbers 中。 第一个参数是列表中的元素,另一个是该元素的索引。如果映射函数不需要使用元素的索引,那么索引参数就会被命名为 _ 来表明它将被忽略。

结构体

package mainimport ("fmt""github.com/samber/lo"
)// Person 定义了一个简单的人结构体
type Person struct {Name stringAge  int
}// PersonResponse 定义了响应结构体
type PersonResponse struct {Name stringAge  int
}func main() {// 创建一个 Person 列表people := []Person{{"John", 30},{"Jane", 25},{"Bob", 40},}// 使用 lo.Map 将 Person 列表转换为 PersonResponse 列表responses := lo.Map(people, func(p Person, _ int) PersonResponse {return PersonResponse{Name: p.Name,Age:  p.Age,}})// 输出转换后的列表for _, resp := range responses {fmt.Printf("Name: %s, Age: %d\n", resp.Name, resp.Age)}
}


http://www.mrgr.cn/news/59767.html

相关文章:

  • 网络编程_day3
  • 用docker Desktop 下载使用thingsboard/tb-gateway
  • Ajax:请求 响应
  • Docker中如何控制服务启动顺序实现探讨
  • Java基础概览和常用知识(十四)
  • 如何进行大数据治理
  • 202.快乐数
  • ts:数组的常用方法(forEach、map)
  • 微服务篇SpringCloud
  • C++——string的模拟实现(下)
  • kubernetes中的ingress-nginx
  • Mybatis中的参数占位符:${...} 、#{...}的区别
  • SD2.0 Specification之响应(Responses)
  • 小样本语义分割(MSDNet网络详解)
  • 【iOS】使用AFNetworking进行网络请求
  • XJ07、消费金融|信贷还款的基本种类及其系统交互
  • 【MySQL】LeeCode高频SQL50题基础版刷题记录(持续更新)
  • 实验干货|电流型霍尔传感器采样设计03-信号调理
  • BGP 12 条选路原则笔记
  • mysql 视图中用变量实现 自增序号
  • Nature 正刊丨利福昔明预防引起对最后一种抗生素达托霉素的耐药性
  • 如何创建一个Vue项目【手把手教会你】
  • 猫头虎 分享:MySQL 中 TEXT 与 LONGTEXT 数据类型详解与使用场景分析
  • C++标准库之std::begin、std::end、std::pre和std::next
  • Maven 项目构建打包,如何引入本地 Jar 包?
  • 【Rust练习】18.特征 Trait