-
Notifications
You must be signed in to change notification settings - Fork 0
/
array_copy_from_slice.go
55 lines (44 loc) · 1.33 KB
/
array_copy_from_slice.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package array
import (
"github.com/devlights/gomy/output"
)
// CopyFromSlice -- スライスから配列へコピーするサンプルです。
func CopyFromSlice() error {
// ----------------------------------------------
// スライスから配列へコピー
//
// ビルドインのcopy()を利用すれば良い。
//
// [参考]
// https://stackoverflow.com/a/30285971
// https://blog.golang.org/slices-intro
// https://blog.golang.org/slices
// ----------------------------------------------
var (
slice = []int{1, 2, 3, 4, 5}
array = [4]int{}
)
output.Stdoutl("[slice]", slice)
output.Stdoutl("[array]", array)
output.StdoutHr()
// copy(array[:], slice[:len(array)])としても問題はないが
// copy() は、コピーする要素数を指定した2つの引数の少ない方で
// 決定してコピーしてくれるので、以下で良い
copy(array[:], slice)
output.Stdoutl("[slice]", slice)
output.Stdoutl("[array]", array)
return nil
/*
$ task
task: [build] go build .
task: [run] ./try-golang -onetime
ENTER EXAMPLE NAME: array_copy_from_slice
[Name] "array_copy_from_slice"
[slice] [1 2 3 4 5]
[array] [0 0 0 0]
--------------------------------------------------
[slice] [1 2 3 4 5]
[array] [1 2 3 4]
[Elapsed] 50.53µs
*/
}