LoginSignup
0
0

【Go言語】ゼロ値・スライス

Posted at

ゼロ値

変数宣言したが、値を設定していない変数はゼロ値で初期化される。

型ごとのゼロ値

ゼロ値
数値 0
ブール型 false
文字列 ""
ポインタ、インターフェース nil

サンプル

package main

import "fmt"

func main() {
	var n int
	fmt.Println(n) // 0
	var b bool
	fmt.Println(b) // false
	var s string
	fmt.Println(s)  // ""
	var err error
	fmt.Println(err) // nil
}

スライス

スライスは動的なサイズを持つ配列のようなデータ構造で、同じ型の要素を順序つけて格納する。
スライスは宣言時にサイズを指定する必要がない。
配列よりも柔軟で、スライスの方がより一般的に使用される。

スライスの作成

スライスの作成には複数の方法がある

package main

import "fmt"

func main() {
	// `make`関数を使用する
	a := make([]int, 5)
	fmt.Println(a) // [0 0 0 0 0]

	// リテラルを使用する
	s := []int{1, 2, 3}
	fmt.Println(s) // [1 2 3]
}

スライスの操作

package main

import "fmt"

func main() {
	s := []int{1, 2, 3}

	// インデックスによるアクセス
	fmt.Println(s[0]) // 1

	// 長さの確認
	fmt.Println(len(s)) // 3

	// スライスのスライス
	s1 := s[1:3]
	fmt.Println(s1) // [2 3]

}

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0