Golang 将一个整数切片和一个匿名函数作为参数,该匿名函数将切片中的每个元素映射到一个新的值

Golang 将一个整数切片和一个匿名函数作为参数,该匿名函数将切片中的每个元素映射到一个新的值

在本文中,我们将编写Go语言程序,该程序接受一个整数切片和一个匿名函数作为参数,匿名函数将切片中的每个元素映射到一个新的值。匿名函数是在不使用名称的情况下声明的,并且被赋值给一个变量,以执行相应的过程。

语法

func make ([] type, size, capacity)

在Go语言中,make函数用于创建数组/映射。它接受要创建的变量类型、大小和容量作为参数。

func range(variable)

range函数用于迭代任何数据类型。使用该函数时,我们首先需要写出range关键字,然后紧跟要迭代的数据类型,作为结果,循环将迭代到变量的最后一个元素。

步骤

  • 该程序导入所需的main和fmt包。

  • 创建一个main函数。

  • 在main函数中,使用一些值初始化一个切片,并将切片命名为values。

  • 初始化values切片,赋予所需的整数值。

  • 在此步骤中,使用一个整数n作为参数定义一个匿名映射函数。

  • 在函数中,将n的映射值设为n*2。

  • 然后,使用map函数应用映射。

  • 调用map函数,将values切片和匿名映射函数作为参数传入。

  • 然后,将返回的新映射值切片存储在一个名为new values的变量中。

  • 使用来自fmt包的Println函数打印存储在new values中的映射值,其中ln表示新行。

示例

在本例中,我们将编写一个Go语言程序,使用匿名函数将切片中的每个元素映射到一个新值,该匿名函数显示值为n*2。

package main

import (
    "fmt"
)
func main() {   
    values := []int{1, 2, 3, 4, 5}
    fmt.Println("The initial values are:", values)  
    newvalues := Map(values, func(n int) int {
        return n * 2
    })  
    fmt.Println("The new mapped values are:")
    fmt.Println(newvalues) 
}
func Map(values []int, fn func(int) int) []int {
    mappedvalues := make([]int, len(values))
    for i, val := range values {
        mappedvalues[i] = fn(val)
    }
    return mappedvalues
}

输出

The initial values are: [1 2 3 4 5]
The new mapped values are:
[2 4 6 8 10]

结论

我们编写并执行了一个程序,该程序接收一个整数切片并使用匿名函数将其映射到新的值。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程