Goの概要
GoはGolangです。Goは静的に強く型付けされた言語(型間の計算はできません)であり、分析言語とは異なるコンパイル言語です。
Go言語機能
クロスプラットフォームのコンパイル済み言語
文法はC言語に近い
チャネル(チャネル)、スライス(スライス)、同時(ルーチン)
ガベージコレクションのメカニズムがあります。
オブジェクト指向およびプロセス指向のプログラミングモデルをサポート
1つのダウンロードアドレス
インストールパッケージのダウンロードアドレスはhttps://golang.org/dl/です。インストールパッケージ(Pythonインタープリターに類似)
開けない場合は、https://golang.google.cn/dl/のアドレスを使用できます。
#ゴーバージョンビューは、バージョン行く #1 行くのenvビュー、外出先の環境変数を GO111MODULE = #なしオープン行くモードのモードが存在しないことがない値またはオフ、使用がgopathモードで 行く\:GOROOT = C #、インストールパスを行く開発キットを確認しますかどうかは良いため GOPATH = C:\ Users \ユーザー管理者が行く\ #良いことを確認するかどうか、パスを配置するコードを、あなたはこのフォルダに配置されているコードの後に行く #1 行くのノックではどこでも、このコマンドを持っている、あなたは、cに必要:\ \ binに追加の環境変数に行く #ゴーモードモード:コード配置することができますどこにでもパス
#1 golandまたは他のIDEを使用するかどうかにかかわらず、新しいプロジェクトのパス(コード)は、gopathパスの下のsrcフォルダーに配置する必要があります(手動で作成しない場合) #2 gopathパスの下に3つのフォルダーがあります:src(コードを入力) )、Pkg(コンパイルプロセスは中間のものを生成)、bin(コンパイル済み実行可能ファイル) #3プロジェクトを作成し、プロジェクトの下にgoファイルを作成して名前を付けます #4コードを実行します(コンパイル済み言語、最初にコンパイルしてから実行) コンパイル:GOビルドxx.go - > xxの名前の現在のプラットフォームで実行可能ファイルにコンパイル 、実行:xxのか。 / XX Windowsの場合:xx.exe実行可能ファイルのパスで #5 Goコマンド - ゴービルドコンパイラ - binパスにインストール、コンパイルされた実行可能ファイルを、インストールゴー - ゴーFMT:形式コード - ゴーxx.goコンパイルし、実行RUN #6 golangがで行わ 正しい選択、RUN
Goの基本的な使用法
基本的な構文(print hello world)
/ * hello worldを印刷する * / // go言語で使用する単一行コメント / * 複数行コメント 複数行コメント * / // ctrl + / (goland) パッケージをすばやくコメント解除してコメント解除できるmain // それぞれメインパッケージを宣言するgoコードの最初の行は、次のように記述する必要があります import " fmt " // Import fmt package analogy import python os os.path func main(){ // 主要な関数本体のコンテンツを宣言し、中括弧で 囲みます // golandプロンプトa ...仮パラメータは fmt.Println(" hello world ")//コンソールにhelloworldを出力---> print(" hello world " ) fmt.Println(" hello world" ) } // プログラムの実行エントリはメインパッケージの下のメイン関数です //コンパイルされた言語、すべてにエントリがあります---- " Pythonのpyファイルと比較するとメイン関数です // goプロジェクトは1つしか持つことができません主な機能
変数の定義と使用
package main import " fmt " func main(){ // 1. メソッド1:基本定義 // varキーワード変数名variable type = 変数値 // var age int = 18 // 定義して割り当てる // var age int / / 定義 //年齢= 18 // 割り当て // 2. 方法2:タイプの派生(タイプを追加する必要はありません) // var age = 18 // var age // 変数が定義されている場合、タイプは固定されている必要があります // age = 18 // 3. メソッド3:省略ステートメント(コロンと等号が一緒になっています) // age:= 18 // Printf、%Tはタイプ //fmt.Printf(" 年齢のタイプは:%T、値は:%d \ n " 、age、age) // fmt.Println(age) // 4方法4、複数の変数を同時に定義する // var a、b、c int = 1,2,3 // var a、b、c = 1,2,3 // 変形(理解できる、つまり定義がOK ) // var( // a = 19 // b = " lqz " // c = " Male " // ) // fmt.Println(a、b、c) // 5. 変数は使用前に定義する必要がある // a:= 10 // fmt.Println(a) // 6. 変数は繰り返し定義できない var a int = 18 // var a = 19 // エラーを繰り返し定義 /// 単純な特別な宣言(コロンの前、少なくともエラーを報告しない未定義の変数があります) a、b: = 17,18 fmt.Println(a、b) // 7変数タイプが固定されている / * 注: 1 。変数定義が使用されなければならない後それ以外の場合はエラー、 2 、パケットが導入されている所定の使用なしに、使用する 3 REUSE定義する 4 ない再定義する 5 種類の定着 * / }
定数の定義と使用
/ * 定数:定数および定数量。定数はすべて大文字で書くことをお勧めします 。データベースの接続アドレス、ポート番号など、プログラムの操作中に変更されない値 * / package main func main(){ // 1. constキーワード定数名定数タイプ= 値 // 2. 定数は使用せずに定義できますが、繰り返すことはできません 。タイプは変更できません // const age int = 19 // 3. タイプは省略できます // const age = 99 //fmt.Printf (" %T " 、age) // 4. 複数の定数を同時に定義できます // const( // AGE = 19 // NAME = " lqz " // SEX = " Male " // ) // fmt.Println(年齢、名前、性別) // 5。定数を変更 できません// const AGE = 99 // const AGE = 18 エラー )
基本的なデータ型
/ * 基本データ型 * / パッケージメイン FUNCメイン(){ / * 1つの数値 符号付き整数:(異なる長さ、異なる数字が示される範囲) - INT:32ビットマシン上で64ビットマシン上で、int32ですInt64型である -int8:番目のビットは、8ビット、バイト、プラスまたはマイナス7番目の2 - 。1範囲 -int16: - 15 +/- 2電源1の範囲 - のInt32: - Int64型: 符号なし整数: - UINT8:8パワーに2 -1 - UInt16型: - UInt32型 - UInt64型 フロート: - のfloat32:同じ精度 - のfloat64:一般的な64と 複合体: - 複合型:(よりよく理解される)の実部と虚部知らない 他の: - バイト:uint8のための別名 - ルーン:のInt32のエイリアス 2つの@ パッケージの内容のバッククォートとの二重引用符`:文字列型` 逆引用符で囲む ことができます // 3 ブール型 true false(小文字) * / // 数値型 // var a int = 200 // var a uint8 = -200 // fmt.Println(a) // float型 / / var a float32 // var b float64 // 複素数 // var a complex64 = 9i + 10 // fmt.Println(a) // 文字列 // var name = "lqz " // var name2 = `egon // is // big` // fmt.Println(name) // fmt.Println(name2) // 二重引用符内に二重引用符がある場合は、\エスケープを追加するか、逆引用符を使用する 文字列のvar名前は= // " " IS LQZ \ "dafds \ " //文字列= `LQZのVAR NAME1 " dafds " IS ` //文字列のVAR = NAME2 " LQZのdafds`is` " // fmt.Println(名) / / fmt.Println(NAME1) // fmt.Println(NAME2) // ブール // VAR A = BOOL 真へ // var a = true // a:= true // var b bool = false // fmt.Println(a) // fmt.Println(b) // 型変換(強い型:型間で操作を実行できない) ) // 型変換 // var a int = 19 // var b float32 = 18.1 // floatはint型に変換され、小数点以下切り捨てではなく、小数点の直後で非推奨 //fmt.Println(a+ int(b)) // var b float32 = 18.999 //fmt.Println(int(b))// 出力は18 // (理解) // var a int = 199 // var b int64 = 199 //// intとint64は型ではない / /fmt.Println(a+ int(b)) }