0
Q
Go言語の副作用
A
答えて
2
Cでは、複数の値を効果的に返すために副作用が使用されます。複数の値を返すゴーで
は、関数の仕様に組み込まれています:func f(a int) (int, int) {
if a > 0 {
return a, 1
}
return 0,0
}
複数の値を返すことで、関数呼び出しの結果として、関数の外のようなもの、あなたに影響を与えることができます。
3
ReadByte
機能は、バッファの状態を変更します。
package main
import "fmt"
type Buffer struct {
b []byte
}
func NewBuffer(b []byte) *Buffer {
return &Buffer{b}
}
func (buf *Buffer) ReadByte() (b byte, eof bool) {
if len(buf.b) <= 0 {
return 0, true
}
b = buf.b[0]
buf.b = buf.b[1:]
return b, false
}
func main() {
buf := NewBuffer([]byte{1, 2, 3, 4, 5})
for b, eof := buf.ReadByte(); !eof; b, eof = buf.ReadByte() {
fmt.Print(b)
}
fmt.Println()
}
Output: 12345
関連する問題
- 1. Goプログラミング言語用PostgreSQLドライバ
- 2. Go言語の構文Confusion
- 3. Google Go言語での例外処理
- 4. go言語での再帰関数
- 5. 副作用のゲッター
- 6. LD_LIBRARY_PATHの副作用
- 7. Go言語を使用する文字列のコピーオンライト
- 8. 最大値で宣言(var、constant)を使用した副作用
- 9. Go言語を使用してログに記録Simple HTTP Server
- 10. NetBeans IDEでGo言語を使用するには?
- 11. 前方宣言の副作用を持つtypedef?
- 12. 副次的なプログラミング言語の美学 - スマイリーフェイス
- 13. MVC副作用は
- 14. のMongoDB:MapReduceの副作用
- 15. C++マクロの副作用
- 16. 純粋に機能的な言語における副作用の可能な手段
- 17. コマンドプロンプトでGO言語のgodocを実行する
- 18. Pythonの副作用を適用する
- 19. Go言語で配列をコピーする機能
- 20. Goプログラミング言語でUnixドメインソケットを確実にunlink()する方法
- 21. OCamlの副作用とトップレベルの表現
- 22. BXの副作用ですか?
- 23. multi_schemaと副作用の問題
- 24. Apache言語での翻訳言語の作業
- 25. 副作用を伴うPythonクロージャ
- 26. 移動セマンティクス - 副作用、破壊
- 27. TLD用Symfony2言語
- 28. C言語の言語(llvm用)のための良いASTデザイン
- 29. Python言語の使用
- 30. MVC3ウェブサイト用の言語パック
私は、あなたが何をしているかについてより具体的に考える必要があると思います。 Goは関数型言語ではありません。副作用のある関数を書くのを止めるものは何もありません。パッケージos、fmt、netの多くの関数には、例えば副作用があります。 –