Skip to content

Commit bc3aee0

Browse files
authored
Merge pull request #668 from devlights:add-zerovalue-example
Add-zerovalue-example
2 parents 4d66524 + cee1a03 commit bc3aee0

File tree

15 files changed

+308
-0
lines changed

15 files changed

+308
-0
lines changed

examples/basic/examples.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ import (
7070
"github.com/devlights/try-golang/examples/basic/variables"
7171
"github.com/devlights/try-golang/examples/basic/xmlop"
7272
"github.com/devlights/try-golang/examples/basic/yamlop"
73+
"github.com/devlights/try-golang/examples/basic/zerovalues"
7374
"github.com/devlights/try-golang/mapping"
7475
)
7576

@@ -155,4 +156,5 @@ func (r *register) Regist(m mapping.ExampleMapping) {
155156
variables.NewRegister().Regist(m)
156157
xmlop.NewRegister().Regist(m)
157158
yamlop.NewRegister().Regist(m)
159+
zerovalues.NewRegister().Regist(m)
158160
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# サンプルリスト
2+
3+
このディレクトリには以下のサンプルがあります。
4+
5+
|file|example name|note|
6+
|----|------------|----|
7+
|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+
}

examples/basic/zerovalues/bool.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+
// Bool は、Goにおける bool のゼロ値についてのサンプルです.
6+
//
7+
// # REFERENCES
8+
// - https://go.dev/tour/basics/12
9+
// - https://brain2life.hashnode.dev/default-zero-values-in-go
10+
func Bool() error {
11+
//
12+
// bool の ゼロ値 は false
13+
//
14+
var (
15+
b bool
16+
)
17+
18+
output.Stdoutf("[bool zerovalue]", "%t\n", b)
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/doc.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/*
2+
Package zerovalues -- Go言語の ゼロ値 についてのサンプルが配置されているパッケージです。
3+
*/
4+
package zerovalues
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package zerovalues
2+
3+
import (
4+
"github.com/devlights/try-golang/mapping"
5+
)
6+
7+
type (
8+
register struct{}
9+
)
10+
11+
// NewRegister -- このパッケージ用のサンプルを登録する mapping.Register を生成します。
12+
func NewRegister() mapping.Register {
13+
return new(register)
14+
}
15+
16+
// Regist -- 登録します.
17+
func (r *register) Regist(m mapping.ExampleMapping) {
18+
m["zerovalues_int"] = Int
19+
m["zerovalues_float"] = Float
20+
m["zerovalues_bool"] = Bool
21+
m["zerovalues_string"] = String
22+
m["zerovalues_pointer"] = Pointer
23+
m["zerovalues_slice"] = Slice
24+
m["zerovalues_map"] = Map
25+
m["zerovalues_chan"] = Channel
26+
m["zerovalues_func"] = Func
27+
m["zerovalues_array"] = Array
28+
m["zerovalues_struct"] = Struct
29+
}

examples/basic/zerovalues/float.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+
// Float は、Goにおける float のゼロ値についてのサンプルです.
6+
//
7+
// # REFERENCES
8+
// - https://go.dev/tour/basics/12
9+
// - https://brain2life.hashnode.dev/default-zero-values-in-go
10+
func Float() error {
11+
//
12+
// float (float32, float64) の ゼロ値 は 0.0
13+
//
14+
var (
15+
f float64
16+
)
17+
18+
output.Stdoutf("[float zerovalue]", "%.1f\n", f)
19+
20+
return nil
21+
}

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+
}

examples/basic/zerovalues/int.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+
// Int は、Goにおける int のゼロ値についてのサンプルです.
6+
//
7+
// # REFERENCES
8+
// - https://go.dev/tour/basics/12
9+
// - https://brain2life.hashnode.dev/default-zero-values-in-go
10+
func Int() error {
11+
//
12+
// int の ゼロ値 は 0
13+
//
14+
var (
15+
i int
16+
)
17+
18+
output.Stdoutf("[int zerovalue]", "%d\n", i)
19+
20+
return nil
21+
}

0 commit comments

Comments
 (0)