GitBucket
4.23.0
Toggle navigation
Sign in
Files
Branches
1
Releases
Issues
Pull requests
Labels
Priorities
Milestones
Wiki
Forks
sample-golang
/
01_hello
Browse code
add bare return sample
master
1 parent
da13c15
commit
fe6c716d3b5cae2bd0752c5caee3f2cb7ea809b7
yhornisse
authored
on 27 Sep 2021
Patch
Showing
2 changed files
func/README.md
func/bareReturn.go
Ignore Space
Show notes
View
func/README.md
## MEMO - 戻り値は複数定義できる。エラー通知や成功失敗などにはこれが使える。 - 返却値を捨てる場合は `_` を指定する。 - 引数をstructや配列をそのまま指定すると値渡し、ポインタを指定すれば参照渡しになる - 速度を気にするなら参照渡し - パッケージ分ける場合はgo.modとか使うと便利。`go mod init xxxx/xxx`とかで初期化できる。 - パッケージでリモートのパスを使う場合`go help importpath`で確認できるようなものが使える(Githubとか) - replaceを定義しておけばローカルでもリモートでもビルドできる。 - 違うパッケージからアクセスするには大文字始まりの名前にする必要がある。 - 空returnを使うと効率的な場合があるが、返却値が明示的でない場合があるので控えめに使う方が良いとのこと( bareReturn.goを参照 )
## MEMO - 戻り値は複数定義できる。エラー通知や成功失敗などにはこれが使える。 - 返却値を捨てる場合は `_` を指定する。 - 引数をstructや配列をそのまま指定すると値渡し、ポインタを指定すれば参照渡しになる - 速度を気にするなら参照渡し - パッケージ分ける場合はgo.modとか使うと便利。`go mod init xxxx/xxx`とかで初期化できる。 - パッケージでリモートのパスを使う場合`go help importpath`で確認できるようなものが使える(Githubとか) - replaceを定義しておけばローカルでもリモートでもビルドできる。 - 違うパッケージからアクセスするには大文字始まりの名前にする必要がある。
Ignore Space
Show notes
View
func/bareReturn.go
0 → 100644
package main import "fmt" func hoge() (x, y int64) { x = 1 y = 2 return } func fuga() (x int64, y int64) { x = 1 return } func main() { { x, y := hoge() fmt.Println(x, y) // 1 2 } { x, y := fuga() fmt.Println(x, y) // 1 0 } }
Show line notes below