Golang 用于反转片段

Golang 用于反转片段

在本教程中,我们将学习如何使用各种示例来反转片段。片段是一个与数组类似的元素序列。数组是一个固定的元素序列,而片段是一个动态数组,这意味着它的值不固定且可以改变。片段比数组更高效、更快,并且它们通过引用传递而不是值传递。让我们通过示例来理解这些概念。

语法

func append(slice, element_1, element_2…, element_N) []T

append函数用于向数组切片添加值。它需要多个参数。第一个参数是要添加值的数组,后面是要添加的值。函数将返回包含所有值的最终切片数组。

方法1:在示例中使用整数值

在此方法中,我们将看到如何使用整数值来反转切片。这里我们将使用append函数来获取值。输出将使用fmt.Println()函数打印到控制台。让我们通过代码来看看这些操作。

步骤

  • 第1步 - 创建一个package main,并在程序中声明fmt(格式化包)包,其中main生成可执行代码,fmt用于格式化输入和输出。

  • 第2步 - 创建一个main函数,在该函数中创建一个空的整数类型切片,并使用append函数向该切片中添加元素。

  • 第3步 - 运行一个循环,其中有两个变量i和j,这两个变量都被应用在同一个位置。

  • 第4步 - 将变量i和j初始化为0和切片的长度-1。在I小于j的情况下运行循环。

  • 第5步 - 在循环中使用Go的多重赋值特性交换索引i和j处的元素。

  • 第6步 - 在交换后,将i增加1,将j减少1,并继续循环进行下一次交换。

  • 第7步 - 使用fmt.Prinltn()函数打印交换后的切片,其中ln表示新的一行。

示例

Golang程序示例中使用整数值来反转切片。

package main
import "fmt"
func main() {

   var slice []int
   slice = append(slice, 10) // create slice using append function
   slice = append(slice, 20)
   slice = append(slice, 30)
   slice = append(slice, 40)

   fmt.Println("The slice before reversal is:", slice)
   for i, j := 0, len(slice)-1; i < j; i, j = i+1, j-1 {
      slice[i], slice[j] = slice[j], slice[i]  //reverse the slice
   }

   fmt.Println("The slice after reversal is:")
   fmt.Println(slice)    // print the reversed slice
}

输出

The slice before reversal is: [10 20 30 40]
The slice after reversal is:
[40 30 20 10]

方法2:在示例中使用字符串值

在这个方法中,我们将看到如何使用字符串值反转一个切片。我们将使用append函数输入值。输出将使用fmt.Println()函数打印在控制台上。让我们通过代码来看看是如何完成的。

步骤

  • 步骤1 - 创建一个main包并在程序中声明fmt(format包)包,其中main生成可执行代码,fmt帮助格式化输入和输出。

  • 步骤2 - 创建一个主函数,在该函数中创建一个空的string类型切片并使用append函数添加元素到该切片中。

  • 步骤3 - 运行一个循环,使用两个变量i和j,都应用在同一个位置。

  • 步骤4 - 初始化变量i和j等于0和切片长度-1。运行循环直到i小于j。

  • 步骤5 - 在循环中使用Go的多重赋值特性交换索引i和j上的元素。

  • 步骤6 - 交换后,i增加1,j减少1,循环继续进行下一次交换。

  • 步骤7 - 使用fmt.Prinltn()函数打印交换后的切片,其中ln表示换行。

示例

使用字符串值反转切片的Golang程序示例

package main
import "fmt"
func main() {

   var slice []string
   slice = append(slice, "Delhi") // create slice using append function
   slice = append(slice, "Mumbai")
   slice = append(slice, "Bangalore")
   slice = append(slice, "Jaipur")

   fmt.Println("The slice before reversal is:", slice)
   for i, j := 0, len(slice)-1; i < j; i, j = i+1, j-1 {
      slice[i], slice[j] = slice[j], slice[i]   // reverse the slice
   }

   fmt.Println("The slice after reversal is:")
   fmt.Println(slice)  // print the reversed slice

}

输出

The slice before reversal is: [Delhi Mumbai Bangalore Jaipur]
The slice after reversal is:
[Jaipur Bangalore Mumbai Delhi]

结论

我们执行了反转切片元素的程序,其中包括两个示例。在第一个示例中,我们使用整数值并进行了交换,在第二个示例中,我们使用字符串值并进行了交换。两个示例都给出了类似的输出。因此,程序成功执行。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程