Go で空のスライスを作成する

Jay Singh 2023年1月30日
  1. Go で空のスライスを初期化する
  2. Go で make() を使用して空のスライスを作成する
Go で空のスライスを作成する

この記事では、Go での空のスライスの実装について説明します。

Go で空のスライスを初期化する

空のスライスには、空の配列への参照があります。長さと容量がゼロで、基になる配列の長さがゼロを指します。

以下のコードを使用して、Go で空のスライスを初期化できます。

package main

import "fmt"

func main() {
    b := []string{}
    fmt.Println(b == nil)
}

出力:

false

Go で make() を使用して空のスライスを作成する

make() 関数は空のスライスを生成することもできます。

以下は、make() を使用したコードの例です。

例 1:

package main

import "fmt"

func main() {
    c := make([]string, 0)
    fmt.Println(c == nil)
}

出力:

false

例 2:

package main

import "fmt"

func main() {
    // Creating an array of size 6
    // and slice this array  till 3
    // and return the reference of the slice
    // Using make() function
    var sliceA = make([]int, 3, 6)
    fmt.Printf("SliceA = %v, \nlength = %d, \ncapacity = %d\n",
        sliceA, len(sliceA), cap(sliceA))

    // Creating another array of size 6
    // and return the reference of the slice
    // Using make() function
    var sliceB = make([]int, 6)
    fmt.Printf("SliceB = %v, \nlength = %d, \ncapacity = %d\n",
        sliceB, len(sliceB), cap(sliceB))
}

出力:

SliceA = [0 0 0], 
length = 3, 
capacity = 6
SliceB = [0 0 0 0 0 0], 
length = 6, 
capacity = 6

関連記事 - Go Slice