記事のディレクトリ
言語紹介
生成と開発
コアR&Dチームには、ケントンプソン、ロブパイク、ロベルトグリーズマーの3頭の大きな牛がいます。
GoogleがGolangを作成した理由:
- コンピューターのハードウェアは頻繁に更新され、パフォーマンスは急速に向上し、主流のプログラミング言語はマルチコアとマルチCPUを利用できません。
- ソフトウェアプログラミングの複雑さはますます高くなり、メンテナンスコストはますます高くなり、十分に簡潔で効率的な言語が不足しています。
- C / C ++プロジェクトは非常に高速に実行されますが、メモリリークの問題があります。
概要:現在の主流のプログラミング言語は、開発、運用、保守が十分に簡潔でないか、効率が十分でない(マルチコアとマルチCPUを十分に活用できない)か、メモリリークがあります。
Golangの開発:
- 2007年、GoogleのエンジニアであるケントンプソンとロブパイクがGolangの最初のプロトタイプを開発および設計しました。
- 2009年11月10日、GoogleはGolangをリリースし、オープンソース化しました。
- 2015年8月19日、Go 1.5がリリースされ、最後に参加したCコードが削除されました。
- 2017年2月17日、Go言語1.8がリリースされました。
- 2018年2月16日1.10にリリース
機能
Go言語スキルは、静的プログラミング言語のセキュリティとパフォーマンスを実現し、動的開発言語の開発と保守の高効率特性も備えています。式で表現されるのは次のとおりです。C+ Python(つまり、Cの効率とPythonの開発と操作の効率があります)
- 構文、制御構造、基本的なデータ型、パラメーター転送、ポインターなど、C言語から多くの概念を継承しました。
- パッケージの概念を紹介します。プログラムファイルは単独で存在することはできず、パッケージに属している必要があります。
- ガベージコレクションメカニズムを導入します。メモリは自動的にリサイクルされるだけで、開発者の管理は必要ありません。
- 並行性の自然なサポート
言語レベルからの並行性をサポートし、単純な
ゴルーチンを実装し、軽量で既製であり、大規模な並行処理を実現でき、
CPS並行性モデル(Communicating Sequential Processes)に基づくマルチコア実装を効率的に利用します。 - パイプライン通信メカニズムは吸収されてGo言語の独自のパイプラインを形成し、異なるgoroute間の通信はパイプラインを介して実現されます。
- 関数は複数の値を返すことができます
- スライススライス、実行遅延の遅延など、いくつかの新しいイノベーションがあります。
応用分野
- ブロックチェーン、分散型台帳テクノロジー、誰もがデータベースレコードに参加できるようにする
- バックエンドアプリケーションサービス、バックグラウンドトラフィックのサポート、および統計の実行。美団バックグラウンドフローサポートプログラムなど。
- Shanda CDN、JDメッセージングクラウドサービスなどのクラウドコンピューティング/クラウドサービスのバックグラウンドアプリケーション
環境への設置
プログラムのダウンロード
セルフダウンロードインストールvscode
ダウンロードgolangSDKダウンロード
構成とテスト
圧縮されたパッケージを指定されたディレクトリに解凍します(ディレクトリパスには中国語とスペースが含まれていません)。ここでのパスはD:\ greenPro \ goです
。3つの環境変数を構成します。
GOROOT: D:\greenPro\go goSDK解压后的跟路径
Path: D:\greenPro\go\bin goSDK解压后跟路径下的bin 路径
GOPATH: D:\works\goworks 程序开发使用的路径
win + Rコマンドラインを実行してgoを実行し、次の情報を確認して、インストールが成功したことを示します。
サンプルプログラムの作成と実行
上記のGOPATHパスの下でvscodeによって記述されたHello.goの内容は次のとおりです。
package main
import "fmt"
func main(){
fmt.Println("hello world!");
}
Hello.goが置かれているディレクトリに入り、次のコマンドを実行して、次のようにエフェクトを実行します。
D:\works\goworks\go01\main> go run Hello.go
hello world!
最初にコンパイルしてから、次のように実行することもできます
PS D:\works\goworks\go01\main> go build Hello.go //编译完成后目录下出现 Hello.exe 的可执行文件
PS D:\works\goworks\go01\main>./Hello //运行可执行文件
hello world!
コードがコンパイルされた後、実行可能ファイルはgo環境なしでマシンにコピーされ、引き続き実行できます。プログラムの実行に必要なコンテンツは、コンパイル時に実行可能ファイルにパッケージ化されるためです
注意が必要なその他の事項
注釈
行コメント
// 这行是注释
コメントをブロックする
/*
这里是注释
*/
特別な文法規則
- インポートされたパッケージが使用されていない場合、または変数が定義された後に変数が使用されていない場合、エラーが報告されます。
- プログラム実行エントリが主な機能です
- 大文字と小文字を厳密に区別
- 各ステートメントの後にセミコロンは必要ありません(Goは各行の最後にセミコロンを自動的に追加します)
- Goコンパイラは1行ずつコンパイルするため、1行に1つのステートメントを記述し、同じ行に複数のステートメントを書き込むことはできません。そうしないと、エラーが報告されます。
- 次の文言はエラーを報告します
func main()//大括号必须在这个位置
{
//
}
コードスタイル
- コメントを書くために行コメントを公式に推奨する
- 正しいインデントと空白は、Shift + Tab操作で調整でき、コードはgofmt gofmt -whello.goでフォーマットされます。
- 演算子の両側に1つのスペースを追加します
- 1行に80文字を超えないようにします。改行を使用して、80文字をできるだけエレガントに表示します。