Golangの紹介

2648 ワード

Go言語はブロックチェーンの最も主流のプログラミング言語であり、Google社が創造した言語である.
特徴:静的コンパイル言語の安全と性能を保証し、動的言語開発メンテナンスの効率を達成した.Go=C+Pythonは、言語がC静的言語プログラムの実行速度とPython動的言語の迅速な開発を達成できることを示しています.
例:
1.表現文法、制御構造、基礎データ型、呼び出しパラメータの値伝達、ポインタなど、C言語から多くの理念を受け継いでおり、C言語と同様のコンパイル実行方式や弱体化したポインタも保持されている.すなわちC言語に関わる最下位のGo言語にも触れることができ,C言語ではできない簡易開発Go言語が可能である.2.パッケージの概念を導入し、プログラム構造を組織する.Go言語の1つのファイルはすべて1つのパッケージに帰属し、ファイルは単独で存在することはできません.3.ゴミ回収メカニズムを内蔵し、メモリを自動的に回収し、開発者がメモリを管理する必要がなく、コードの業務ロジックにもっと集中する.4.天然同時対応.重要な特徴は、Goの独特性は、天然同時性をサポートすることに依存します.①言語レベルからコンカレントをサポート、②goroutime、軽量レベルのスレッドを実現し、大コンカレント処理を実現でき、マルチコアを効率的に利用できる③CPSコンカレントモデルに基づく5.パイプ通信メカニズムを吸収し、Go言語特有のパイプchannelを形成し、パイプを通じて異なるgoroutime間の通信を実現する
Golangの応用分野:
  • ブロックチェーン(BT)技術は、分散型帳簿技術
  • とも呼ばれる.
  • バックエンドサーバアプリケーション
  • クラウドコンピューティング/クラウドサービスバックグラウンド用.例えば、盛大クラウド(CDN)のコンテンツ配信ネットワーク
  • Golangの発展方向:ブロックチェーン、Goサーバ側(ビッグデータ処理、大同時)
    Golang快速開発入門
    helloを開発するように要求した.goプログラム、出力hello worldがgo開発ソフトウェアをインストールしていない場合、コンピュータdosを使用して実行する場合:
    1.**Golangコンパイルソフトウェアを選択し、helloを生成します.goファイル**
    package main	//①
    import "fmt"	//②
    func main(){	//③
    fmt.Println("hello world"//④
    }
    

    ①hello.goファイルはmainパケットに②パケット名fmtというパケットが導入されていることを示し、導入後はこのパケットの中のメソッドを使用することができる③funcはキーワードであり、1つの関数を表し、mainは関数名であり、1つのメイン関数であるプログラムのエントリ④はfmtパケットを呼び出す出力関数数を表す
    2.dosでgoファイルをコンパイルする(2つの実行方法)(1)go buildコマンドコンパイル①でcmdを開き、goファイルがあるディレクトリに入る②go build hello.goファイルを実行する.このコマンドの実行が完了すると、hello.goファイルがあるディレクトリにhello.exeファイルが自動的に生成される(コンピュータで実行可能なファイル)③さらにcmdでhello.exeファイルコンパイルを実行し、出力結果(2)go run hello.go文でファイルをコンパイルする
    2つの実行方法の違い
  • 実行可能ファイルを先にコンパイルした場合、go開発環境のないマシンにその実行可能ファイルをコピーしても実行できます.
  • 直接go run xxx.goソースは、別のマシンでgoの開発環境
  • が必要です.
  • コンパイル時、コンパイラはプログラム実行に依存するライブラリファイルを実行可能ファイルに含めるため、実行可能ファイルはソースファイルよりずっと大きい.

  • Golangプログラム開発の注意事項:
  • Goソースファイル.goは拡張子
  • Goアプリケーションの実行エントリは*main()**関数
  • です.
  • Goメソッドは1つの文で構成され、各文の後にセミコロンは必要ありません(Go言語は各文の後ろに自動的に追加されます)
  • .
  • Goコンパイラは1行でコンパイルされ、1行に1つの文が書かれ、複数の文を1行
  • に書くことはできません.
  • Golangで定義された変数とインポートされたパッケージが使用されていない場合、コードはコンパイル
  • では使用できません.
  • Go大文字と小文字を厳格に区別する