Skip to content

Commit cee1a03

Browse files
committed
Add zerovalue examples
1 parent 8b64243 commit cee1a03

File tree

6 files changed

+110
-0
lines changed

6 files changed

+110
-0
lines changed

examples/basic/zerovalues/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,13 @@
55
|file|example name|note|
66
|----|------------|----|
77
|int.go|zerovalues\_int|Goにおける int のゼロ値についてのサンプルです.|
8+
|float.go|zerovalues\_float|Goにおける float のゼロ値についてのサンプルです.|
9+
|bool.go|zerovalues\_bool|Goにおける bool のゼロ値についてのサンプルです.|
10+
|string.go|zerovalues\_string|Goにおける string のゼロ値についてのサンプルです.|
11+
|pointer.go|zerovalues\_pointer|Goにおける ポインタ のゼロ値についてのサンプルです.|
12+
|slice.go|zerovalues\_slice|Goにおける スライス のゼロ値についてのサンプルです.|
13+
|map.go|zerovalues\_map|Goにおける マップ のゼロ値についてのサンプルです.|
14+
|channel.go|zerovalues\_chan|Goにおける チャネル のゼロ値についてのサンプルです.|
15+
|func.go|zerovalues\_func|Goにおける 関数 のゼロ値についてのサンプルです.|
16+
|array.go|zerovalues\_array|Goにおける 配列 のゼロ値についてのサンプルです.|
17+
|struct.go|zerovalues\_struct|Goにおける 構造体 のゼロ値についてのサンプルです.|

examples/basic/zerovalues/array.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package zerovalues
2+
3+
import "github.com/devlights/gomy/output"
4+
5+
// Array は、Goにおける 配列 のゼロ値についてのサンプルです.
6+
//
7+
// # REFERENCES
8+
// - https://go.dev/tour/basics/12
9+
// - https://brain2life.hashnode.dev/default-zero-values-in-go
10+
func Array() error {
11+
//
12+
// 配列 の ゼロ値 は、その配列の基底型のゼロ値が指定要素数分設定されている状態.
13+
//
14+
var (
15+
a [10]int
16+
)
17+
18+
output.Stdoutf("[array zerovalue ]", "%v\n", a)
19+
20+
return nil
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package zerovalues
2+
3+
import "github.com/devlights/gomy/output"
4+
5+
// Channel は、Goにおける チャネル のゼロ値についてのサンプルです.
6+
//
7+
// # REFERENCES
8+
// - https://go.dev/tour/basics/12
9+
// - https://brain2life.hashnode.dev/default-zero-values-in-go
10+
func Channel() error {
11+
//
12+
// チャネル の ゼロ値 は nil
13+
//
14+
var (
15+
ch chan int
16+
)
17+
18+
output.Stdoutf("[chan zerovalue]", "%v\n", ch)
19+
20+
return nil
21+
}

examples/basic/zerovalues/examples.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,8 @@ func (r *register) Regist(m mapping.ExampleMapping) {
2222
m["zerovalues_pointer"] = Pointer
2323
m["zerovalues_slice"] = Slice
2424
m["zerovalues_map"] = Map
25+
m["zerovalues_chan"] = Channel
26+
m["zerovalues_func"] = Func
27+
m["zerovalues_array"] = Array
28+
m["zerovalues_struct"] = Struct
2529
}

examples/basic/zerovalues/func.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package zerovalues
2+
3+
import "github.com/devlights/gomy/output"
4+
5+
// Func は、Goにおける 関数 のゼロ値についてのサンプルです.
6+
//
7+
// # REFERENCES
8+
// - https://go.dev/tour/basics/12
9+
// - https://brain2life.hashnode.dev/default-zero-values-in-go
10+
func Func() error {
11+
//
12+
// 関数 の ゼロ値 は nil
13+
//
14+
var (
15+
fn1 func()
16+
fn2 = func() {}
17+
)
18+
19+
output.Stdoutf("[func zerovalue]", "%p:%p\n", fn1, fn2)
20+
21+
return nil
22+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package zerovalues
2+
3+
import "github.com/devlights/gomy/output"
4+
5+
// Struct は、Goにおける 構造体 のゼロ値についてのサンプルです.
6+
//
7+
// # REFERENCES
8+
// - https://go.dev/tour/basics/12
9+
// - https://brain2life.hashnode.dev/default-zero-values-in-go
10+
func Struct() error {
11+
//
12+
// 構造体 の ゼロ値 は、フィールドの型毎にゼロ値が設定された状態.
13+
//
14+
type (
15+
_st struct {
16+
i int
17+
b bool
18+
}
19+
)
20+
21+
var (
22+
st _st
23+
)
24+
25+
output.Stdoutf("[struct zerovalue]", "%+v\n", st)
26+
27+
st.i = 100
28+
st.b = true
29+
output.Stdoutf("[struct assign values]", "%+v\n", st)
30+
31+
return nil
32+
}

0 commit comments

Comments
 (0)