囲碁言語基本閉鎖原理分析例詳細
2022-01-06 14:28:25
I. クロージャの概要
- クロージャは、ローカル変数が外部からアクセスできない問題の解決策である
- クロージャは、関数を戻り値として扱うことの応用である
II. コードデモ
一般的なアイデアは、関数内部でローカル変数を定義し、別の関数を戻り値として扱うことです。ローカル変数は、戻り値関数のすべての変数と等価なので、戻り値関数を複数回呼び出すと、ローカル変数の値は変化に追従する。
File "object_detection/builders/model_builder_test.py", line 24, in <module>
from object_detection.builders import model_builder
Datei "F:\File_Python\Python_example\models-master\research\object_detection\builders\model_builder.py", Zeile 20, in <module>
from object_detection.builders import anchor_generator_builder
Datei "F:\File_Python\Python_example\models-master\research\object_detection\builders\anchor_generator_builder.py", Zeile 21, in <module>
from Objekterkennung.protos importieren anker_generator_pb2
Datei "F:\File_Python\Python_example\models-master\research\object_detection\protos\anchor_generator_pb2.py", Zeile 15, in <module>
from object_detection.protos import grid_anchor_generator_pb2 as object__detection_dot_protos_dot_grid__anchor__generator__pb2
Datei "F:\File_Python\Python_example\models-master\research\object_detection\protos\grid_anchor_generator_pb2.py", Zeile 22, in <module>
serialized_pb=_b('\n3object_detection/protos/grid_anchor_generator.proto\x12\x17object_detection. protos\"\xcd\x01\n\x13GridAnchorGenerator\x12\x13\n\x06height\x18\x01 \x01(\x05:\x03\x32\x35\x36\x12\x12\n\x05width\x18\x02 \x01(\x05: \x03\x32\x35\x36\x12\x19\n\rheight_stride\x18\x03 \x01(\x05:\x02\x31\x36\x12\x18\n\x0cwidth_stride\x18\x04 \x01(\x05: \x02\x31\x36\x12\x18\n\rheight_offset\x18\x05 \x01(\x05:\x01\x30\x12\x17\n\x0cwidth_offset\x18\x06 \x01(\x05: \x01\x30\x12\x0e\n\x06scales\x18\x07 \x03(\x02\x12\x15\n\raspect_ratios\x18\x08 \x03(\x02')
TypeError: __init__() erhielt ein unerwartetes Schlüsselwortargument 'serialized_options'
結果を実行する
pip install -U protobuf
コードの説明
2行目では、変数
f
の関数です。
type
と
address
は、Go言語では関数が参照型となります。Java言語を勉強した人なら、Javaオブジェクトのメモリ空間がスタック、ヒープ、メソッドエリア、スタティックエリアであることを知っているはずです。
3行目~5行目では
pre
suf
2つの変数のアドレスは、それぞれの呼び出しが
pre
suf
アドレスは変更されません。
6行目~9行目 これは、新しく宣言された
f1
という変数があり、その時点で
pre
suf
のアドレスと、直前の
f
の中にある
pre
suf
アドレスは同じではありません。
参照型の変数を作成する場合、それは実際には単なるヘッダー値であり、ヘッダー値には基礎となるデータへのポインタが含まれているため、それが指す基礎構造はコピーされずに渡されるため、参照型は値型よりも効率的に渡されることになるのです。 <リンク
以上、Go言語の基本的なクロージャの基本原理と例について詳しく説明しましたが、Go言語のクロージャについての詳細は、Script Houseの他の関連記事にもご注目ください
関連
-
ゴルーチンモデルとスケジューリング戦略へのGo並行処理アプローチ
-
Go言語の基本 goインストールコマンドの使用例 詳細
-
Go言語基本関数の基本的な使い方と例
-
Golangのループステートメントとループ制御ステートメントの説明
-
golangでのtarによるファイルの圧縮・解凍の詳細
-
同時進行のプログラミングを行う sync.Once
-
golang はシンプルなウェブソケット・チャットルーム機能を実装しています。
-
Go(...)の3つのポイントを徹底分析 使用方法
-
ピン留めされたボットを使用してGoでメッセージをプッシュする例
-
golang exec シェル実行 出力の同期方法/実行結果の取得方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン