1. Go 言語の序文
Go は、21 世紀の C 言語とも呼ばれる静的型付けのコンパイル言語です。Go 言語は、コンパイラー、ライブラリ、サポート ツール用のソース コードを無料で提供するオープン ソース プロジェクトであり、高性能サーバーやアプリケーションでもよく使用されます。
Go 言語は、Linux、OpenBSD、Microsoft Windows、その他のオペレーティング システムなどの UNIX 系システム上で実行できます。
Go 言語の特徴により、現在、ByteDance、Google、Baidu、Meituan などの多くの大手インターネット企業で使用されています。
2. Go言語の機能
Go 言語の主な機能:
- 自動ガベージコレクション
- 豊富な組み込み型
- 関数の複数の戻り値
- エラー処理
- 匿名関数とクロージャ
- タイプとインターフェース
- 同時プログラミング
- 反射
- 言語の対話性
Go 言語には、関連ツールと標準ライブラリが付属しており、自動ガベージ コレクション、パッケージ システム、システム コール インターフェイスなどが備わっています。それ自体には、コンストラクターやデストラクターがない、演算子のオーバーロードがない、継承がないなど、多くの機能はありません。ジェネリックなど ただし、Go 言語自体は下位互換性が保証されています。
Go 言語には、動的言語における不注意な型エラーを回避するのに十分な型システムがあり、従来の強力な型変換よりもはるかに単純です。プログラマーは特定のタイプの安全性を気にする必要がなく、実際にセキュリティが強化され、実行時のパフォーマンスが向上します。
Go 言語の標準ライブラリは、I/O 操作、テキスト処理、画像、ネットワーク、分散アプリケーションなどを含む明確な構成要素とパブリック インターフェイスを提供し、多くの標準化されたファイル形式とエンコードおよびデコード プロトコルをサポートします。ライブラリとツールは、プログラム ロジックを簡素化するために多数の規則を使用しており、学習と使用が簡単です。以前に C、C++、Java、Python、またはその他の言語を使用したかどうかに関係なく、変数、式、関数、および他の Go 言語の基本構文は似ているため、問題はありません。
3. Hello World インスタンスに移動する
Go 言語の基本コンポーネントには次の部分が含まれます。
- パッケージ宣言
- パッケージのインポート
- 関数
- 変数
- ステートメントと式
- コメント
Hello World! を出力する簡単なコードを見てみましょう。
package main
import "fmt"
func main() {
/* 输出Hello World! */
fmt.Println("Hello, World!")
}
それでは、上記のコードを分析してみましょう。
- コードの最初の行 package main は、 パッケージ名を定義します。Go 言語のコードは、他の言語のライブラリやモジュールに似たパッケージを通じて編成されます。パッケージは、単一のディレクトリに配置された 1 つ以上の .go ソース コード ファイルで構成され、パッケージの役割を定義します。各ソース ファイルは、ファイルがどのパッケージに属しているかを示すパッケージ宣言ステートメントで始まります。
main包比较特殊,表示一个可独立执行的程序,而不是库,每个 Go 应用程序都包含一个名为 main 的包。在 main 里的 main函数也很特殊,它是整个程序执行时的入口。 main 函数所做的事情就是程序做的。当然了, main 函数一般调用其它包里的函数完成很多工作,比如 fmt.PrintIn 。
-
import "fmt"の次の行は 、このプログラムがフォーマットされた IO (入力/出力) の関数を実装する fmt パッケージの (関数またはその他の要素) を使用する必要があることを Go コンパイラーに伝えます。
-
次の行 func main() は、 プログラムの実行を開始する関数です。main 関数は、すべての実行可能プログラムに必ず含める必要があり、通常、起動後最初に実行される関数です (init() 関数がある場合は、この関数が最初に実行されます)。
-
次の行 /.../ はコメントであり、プログラムの実行時には無視されます。
-
次の行ftm.printIn は、スペースで区切られた 1 つ以上の値を出力し、最後に改行文字を追加して、行全体を出力する基本関数です。(fmt.Print("hello, world\n") を使用しても同じ結果が得られます)
-
識別子 (定数、変数、型、関数名、構造体フィールドなどを含む) が Group1 のように大文字で始まる場合、この形式の識別子を使用するオブジェクトは、外部パッケージ (クライアント最終プログラムは最初にパッケージをインポートする必要があります)、これはエクスポートと呼ばれます (オブジェクト指向言語の public のようなもの); 識別子が小文字で始まる場合、識別子はパッケージの外部では表示されませんが、パッケージ全体の内部では表示されますそして利用可能です (オブジェクト指向言語で保護されているように)。
Goプログラムを実行する
Go コードを書いた後にそれを実行するにはどうすればよいですか?
- Go はコンパイル言語であり、Go 言語ツール チェーンはソース コードとその依存関係をコンピューターの機械命令に変換します。GO 言語によって提供されるツールはすべて、単一のコマンドgを通じて呼び出されます。go コマンドには一連のサブコマンドがあります。最も単純なサブコマンドはrunです。このコマンドは、.go で終わる 1 つ以上のソース ファイルをコンパイルし、ライブラリ ファイルとリンクして、結果の実行可能ファイルを実行します。
- go build を使用してプログラムをコンパイルし、将来の使用のために結果を保存することもできます。
このコマンドは、hello という名前の実行可能バイナリを生成します。これは、処理なしでいつでも実行できます。