説明
Go言語では配列変数を代入すると内容がコピーされます。コピーされるため配列データが大きいと処理に時間がかかります。このコストを軽減するためにスライス型が用意されています。スライス型は配列全体もしくは一部の範囲への参照を変数に持ちます。参照なので配列内容がコピーされることはなく、処理時間も軽減されます。スライス型の変数の宣言は「変数名 [ ]型」となります。最初から途中までの配列要素を抜き出すには「スライス型変数 = 抜き出す配列変数[ : 終了位置]」とします。この場合、抜き出されるのは終了位置より1つ手前までの要素になります。例えばary[:3]とすると0、1、2の3つの要素が抜き出されます。
以下のサンプルでは最初から4つの要素が抜き出されます。
package main
import "fmt"
func main() {
var data = [10] byte {1,2,3,4,5,6,7,8,9,10}
fmt.Println(data)
var subdata [ ] byte
subdata = data[:4]
fmt.Println(subdata)
}
実行結果