Maison  >  Article  >  développement back-end  >  Comment modifier la valeur d'une tranche dans Golang

Comment modifier la valeur d'une tranche dans Golang

青灯夜游
青灯夜游original
2023-01-05 18:59:403940parcourir

Méthode de modification : 1. Utilisez la fonction append() pour ajouter de nouvelles valeurs, la syntaxe est « append(slice, value list) » ; 2. Utilisez la fonction append() pour supprimer des éléments, la syntaxe est « append(a) » ; [:i], a[i] +N:]...)"; 3. Réaffectez directement en fonction de l'index, la syntaxe est "nom de la tranche [index] = nouvelle valeur".

Comment modifier la valeur d'une tranche dans Golang

L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.

Vérifiez l'ajout, la suppression et la modification des tranches en langage Go

  • Une tranche est un tableau dynamique, vous pouvez utiliser la fonction append() pour ajouter des éléments
  • Il n'y a pas de méthode spéciale pour supprimer des éléments de tranche dans le langage go, nous pouvons utiliser les propriétés de la tranche elle-même pour supprimer des éléments.
  • Étant donné que les tranches sont des types de référence, le contenu original sera modifié via l'affectation. Go fournit la fonction copy() pour copier la tranche

1 Ajouter des éléments

package main
import "fmt"
func main() {
 a := []int{}
 a = append(a, 1)
 a = append(a, 2)
 a = append(a, 3, 4, 5) //添加多个元素
 fmt.Printf("a: %v\n", a)
 fmt.Println("---------------------")
 a1 := []int{3, 4, 5}
 a2 := []int{1, 2}
 a2 = append(a2, a1...) //添加另外一个切片进去
 fmt.Printf("a2: %v\n", a2)
}
//输出结果如下
a: [1 2 3 4 5]
---------------------
a2: [1 2 3 4 5]

2.

Comment modifier la valeur dune tranche dans Golang

package main
import "fmt"
func main() {
 var s1 = []int{1, 2, 3, 4}
 fmt.Println("---删除之前---")
 fmt.Printf("s1: %v\n", s1)
 //删除3这个元素,它的下标索引为2
 s1 = append(s1[:2], s1[3:]...)
 fmt.Println("---删除之后---")
 fmt.Printf("s1: %v\n", s1)
}
//执行结果如下
---删除之前---
s1: [1 2 3 4]
---删除之后---
s1: [1 2 4]

Formule de suppression d'éléments :

Pour supprimer l'élément avec index index de la tranche a, la méthode de fonctionnement est la suivante

a = append(a[:index], a[index+1:]...)

3. Modifier l'élément de tranche.

package main
import "fmt"
func main() {
 var s1 = []int{1, 2, 3, 4, 5}
 s1[1] = 100 //索引1的值改为100
 fmt.Printf("s1: %v\n", s1)
}
//输出结果如下
s1: [1 100 3 4 5]
4. Trouvez l'élément de tranche

package main
import "fmt"
func main() {
 var s1 = []int{1, 2, 3, 4, 5}
 var key = 2 //查找2所在的位置
 for i, v := range s1 {
  if v == key {
   fmt.Printf("s1: %v\n", s1)
   fmt.Printf("索引为: %v\n", i)
  }
 }
}
//输出结果如下
s1: [1 2 3 4 5]
索引为: 1

5. Vous pouvez voir quand la valeur de s2 change, le la valeur de s1 est également modifiée, car s2 copie l'adresse mémoire de s1, donc l'association changera

L'utilisation de la méthode de copie pour modifier n'affectera pas la valeur de la tranche source
package main
import "fmt"
func main() {
 var s1 = []int{1, 2, 3, 4, 5}
 var s2 = s1
 s2[0] = 100
 fmt.Printf("s1: %v\n", s1)
 fmt.Printf("s2: %v\n", s2)
}
//输出结果如下
s1: [100 2 3 4 5]
s2: [100 2 3 4 5]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn