ゴー/ゴラン101 -構文と基礎



なぜ別の下位レベルコンパイル言語が必要ですか?
より高速なシステムレベルのソフトウェアやより高速なWebサーバを作成する必要がある場合には、Python、Ruby、JavaScript、PHPのようなより簡単な高級言語の世界を残し、C +のような低レベルコンパイル言語を求めなければなりません.
C +は常に最も人気のあるプログラミング言語の1つとしての強い位置を持ちますが、多くの新しい言語よりずっと冗長であり、構文革新の言語のいくつかを持っていません.
多くの新しい言語が、より近代的なより高速なコンパイル言語に対する要求を満たすことを試みた.
  • nim(本質的にコンパイルされたPythonのバージョン)
  • クリスタル(基本的にはRubyのコンパイルされたバージョン)
  • グーグルによって作成される
  • この記事では碁について話し合いたいです.

    インストール
    GoはまだPenenvやRBenvのようなツールを持っていないようですが、Goをインストールするにはここで指示に従ってください.
  • Install GO Directions
  • 将来的にあなたのGOインストールを更新するために、このbashスクリプトは、プロセスを超簡単にします.
  • Update Go Bash Script

  • ゴロット
    元々、Goコードを書くためには、Gorootと呼ばれる特定のディレクトリにコードを書かなければなりません.他の場所にGoコードを書きたいならば、そのディレクトリをGopathという環境変数に追加しなければなりません.
    Goの新しいバージョンでは、どこでもGoコードを書いて、コマンドでファイルを走らせることができます.
    go run filename.go
    
    goファイルに拡張子があります.

    パッケージ管理
    Goの生態系にはいくつかの素晴らしいGOライブラリがあり、初期のモジュールは組み込みの機能ではありませんでしたが、初期にはパッケージ管理のための組み込み方法がありませんでした.
    新しいプロジェクトのフォルダーで次のコマンドを実行します.
    go mod init myproject.com/projectname
    
    これは、GOを作成します.あなたのパッケージに似ているmodファイル.ジェムファイル
    プロジェクトを実行するには、次のコマンドを使用してすべてのファイルを読み込みます.
    go run .
    
    ファイルを実行する前に、カレントディレクトリ内のすべてのファイルを読み込みます.
    他のライブラリをインポートするにはgo get libraryNAMEプロジェクトを実行し、実行可能ファイルにコンパイルしたい場合は、実行しますgo build , ランgo help build コマンド構文について詳しく知る.

    あなたの最初の試みファイル
    あなたのフォルダにメインを作成します.このように見える.
    
    package main
    
    import "fmt"
    
    func main (){
        fmt.Println("Hello World")
    }
    
    
    それで、これを壊しましょう
  • パッケージは、同じディレクトリ内のすべてのGoファイルの集合名を参照します.したがって、他のどのファイルも同じパッケージを名前にするべきです.あなたがサブディレクトリにより多くのファイルを作成するならば、彼らはディレクトリの名前と一致するパッケージ名を得なければなりません.
  • インポートは他のライブラリをインポートできます.fmtはテキストを端末にログ出力するための標準ライブラリの一部です.
  • 大部分のコンパイルされた言語のような主な機能は、あなたのソフトウェアが始まるところです.コンパイラは、コンパイル後にプログラムが実行されるときに主な関数を本質的に扱います.したがって、順序が起こるのは、メイン関数に依存します.
  • fmtのprintlnに注意してください.printlnを資本化する.輸出のハンドルの輸出は資本化によるものである.FMTライブラリでは、printlnという名前の関数があり、大文字で名前を付けられているので、インポートおよび使用できます.ライブラリのメンバーを使用すると、常に「ライブラリ.メンバー」の構文があります.
  • ファイルを実行するgo run . そして、こんにちは世界が記録されることを確認してください.

  • セカンドファイル
    HWを作りましょう.以下のファイルを同じディレクトリに移動します.
    package main
    
    // Hello World in a variable
    var Hello string = "hello world"
    
    このファイルが主なパッケージ原因であることに注意してください.このファイルで変数を宣言しました.
  • varは変数を宣言するためのキーワードです
  • こんにちは、変数の名前です、それが資本化されるので、それは輸出されて、パッケージの他のファイルで使用可能です
  • 文字列は、helloが保持されるデータ型です.
  • = 右の値を示す代入演算子は左側の変数に格納されます
  • "hello world "は変数に格納されている文字列値です
  • 以来、我々は今我々のメインでそれを使用することができますこの値をエクスポートします.行け!
    メイン.試み
    package main
    
    import "fmt"
    
    func main (){
        fmt.Println(Hello)
    }
    
    プロジェクトを実行するgo run . そして、それは動作するはずですがgo run main.go それは他のファイルを探すことができない原因が失敗します.

    その他のファイル
    新しいフォルダを作成します.次のコマンドを入力してください.
    
    package more
    
    var More string = "More Stuff"
    
    
    これがサブフォルダにあるので、我々は我々のメインでそれを使うためにそれを輸入しなければなりません.行け.
    package main
    
    import (
        "fmt"
        "myproject.com/projectname/more"
    )
    
    func main (){
        fmt.Println(Hello)
        fmt.Println(more.More)
    }
    
    私たちのインポートでは、サブフォルダ/パッケージの名前は、私たちのモジュール名によって前に固定されています.今ではインポートをより多くのフォルダを介してファイルのいずれかのエクスポートメンバーを使用することができます.メンバー.

    Walrus演算子
    goの良い機能には、2つの要件を持つWalrus演算子を使用して変数の型を宣言する方法があります.
  • の関数で使用する必要があります
  • タイプが割り当てられた値によって暗示されるので、すぐに値を割り当てなければなりません
  • より多くの/ものに以下を加えてください.試み
    
    package more
    
    var More string = "More Stuff"
    
    func Stuff() string {
    
        mystring := "My Type is Implied"
    
        return mystring
    }
    
    
    ここでは、Theseという関数を宣言しました.括弧の後の文字列は、この場合、関数が返す値を宣言します.varキーワードなしでMyString変数を宣言し、Walrus演算子ですぐに値を渡します.
    次にメインを追加します.試み
    メイン.試み
    package main
    
    import (
        "fmt"
        "am/am/more"
    )
    
    func main (){
        fmt.Println(Hello)
        fmt.Println(more.More)
        fmt.Println(more.Stuff())
    }
    
    そして、その関数を戻り値をprintln関数に渡します.ランgo run . と結果を参照してください!

    結論
    うまくいけば、これはあなたがセットアップと使用を使用する方法に慣れるのを助けて、将来の記事では、構造、機能などのようなより高度なトピックをカバーしますので、ここでアレクサンドルコーダで確認を維持してください.より多くの記事のCOM!