[Golang]スライス(Slice)の要素を全削除(クリア)するには?

Go

どうも、ちょげ(@chogetarou)です。

スライス(Slice)の要素を全削除(クリア)する方法を紹介します。

スポンサーリンク

方法

スライス(Slice)の要素を全削除(クリア)する方法は、2つあります。

nil

ひとつは、「nil」を使う方法です。

具体的な方法としては、スライスに「nil」を代入します。

//slice=スライス
slice = nil

上記の代入は、スライス(Slice)の要素を全削除(クリア)します。

スライスに「nil」を代入することで、スライスのメモリーを解放できます。

使用例

package main

import "fmt"

func main() {
	numbers := []int{1, 2, 3, 4, 5}

	numbers = nil

	fmt.Println(numbers)
}
出力:
[]

[]

もうひとつは、[]を使う方法です。

具体的な方法としては、スライスに「[:0]」で切り取ったスライスを代入します。

slice = slice[:0]

上記の代入は、スライス(Slice)の要素を全削除(クリア)します。

使用例

package main

import "fmt"

func main() {
	numbers := []int{1, 2, 3, 4, 5}

	numbers = numbers[:0]

	fmt.Println(numbers)
}
出力:
[]

まとめ

スライス(Slice)の要素を全削除(クリア)する方法は、次の2つです。

  • 「nil」を使う方法
    slice = nil
  • []を使う方法
    slice = slice[:0]

コメント

タイトルとURLをコピーしました