質問

私は常に「後藤」という恐ろしいことについて読みました。しかし、今日、Googleのプログラミング言語は、 に行くについて読んで、私はそれがコルーチン(ゴルーチン)をsuportsはいることがわかります。

質問があります:

Coroutine == GoTo 

または

Coroutine != GoTo?

なぜ?

他のヒント

主な違いは、それらをサポートする言語でgoto文がほとんど、あるいは全く制限してプログラム内の任意の場所にジャンプできるようにということです。表面上のコルーチンかもしれないが、似たように見えるが、それらは非常に異なっています。

コルーチンは、(すべてのコンテキストで)手順が中断されることを可能にするとの特定のの位置で再開しました。だから、コルーチンが一時停止してyield制御を他の手順を、彼らが完全に前にして、後で再開行いながら、手続きが降伏してから再開する点は事前に知られています。

これは、単に手順の任意の行にジャンプすることができない、問題の手順は、特定の位置で再開されるのを待っている必要があります。この制御の受け渡しがはるかに構造化されたgotoと比べてですが、この強力なメカニズムを乱用による混乱のコードを記述することが可能です。その後、再び、それはすべての強力なプログラミング言語機能付きでない場合ということですか? ; - )

scroll top