Minimal Go プログラムを理解する

Minimal Go プログラムを理解する

Go の人気は年々高まっています。 Go を採用する企業が増えており、言語のユースケースが増えるにつれて開発者プールが拡大しています。人々はそれを使用して、高速な Web アプリ、ブロックチェーン ソリューション、機械学習ツールなど、さまざまなプログラムを構築しています。





今日のメイク動画

開発者は、その表現力、使いやすさ、言語パフォーマンスの高さから Go を愛用しています。 Go は、パッケージとライブラリのエコシステムが急成長しているため、ほとんどの言語よりも学習曲線が速くなります。





Go を始めよう

Go プログラミング言語 Windows、macOS、またはほとんどの Linux ディストリビューションにはプリインストールされていません。 Go プログラムを実行するには、Go をインストールする必要があります。公式で確認できる ダウンロードに行く マシンにインストールするためのページ。言語を最大限に活用するには、最新バージョンの Go をインストールすることをお勧めします。 新しいバージョンにはより多くの機能があります 更新します。





Go をインストールしたら、Go で言語を操作したり、Go ファイルを実行したり、ワークスペースを作成したり、Go でプロジェクトをビルドしたりできます。

Go ファイルを作成し、標準ライブラリを使用して Go プログラムを実行できます。ただし、外部ライブラリを使用する場合は、依存関係管理、バージョン追跡などのために Go モジュール ファイルを作成する必要があります。



メールからドキュメントを印刷できる場所

Go モジュール ファイル

Go では、モジュールはファイル ツリー内のパッケージのコレクションであり、 go.mod ルートにあるファイル。このファイルは、ビルド プロセスを成功させるためのモジュールのパス、インポート パス、および依存関係の要件を定義します。

  go モジュールの go.mod ファイルの概要

Go を使用して Go モジュール ファイルを作成できます。 に対して コマンドと プロジェクトのパスまたはディレクトリを指定する前に、サブコマンドを使用してください。





go mod init project-directory 

コマンドは、 go.mod ファイル。の後の引数 command はモジュール パスです。モジュール パスは、ホスト環境のファイル パスまたはリポジトリ ドメイン パスにすることができます。

外部パッケージと依存関係をインストールすると、go は 必要とする での宣言 go.mod それらが含まれていることを確認するファイル。





を使用できます。 几帳面 のサブコマンド に対して コマンドを使用して、プログラムに必要なすべての依存関係をダウンロードします。

go mod tidy 

このコマンドは、不足しているすべてのインポートを go モジュール ファイルにダウンロードします。

Go パッケージの名前空間

すべての Go ソース ファイルはパッケージに属し、その識別子を使用してパッケージ名前空間内のコードにアクセスできます。

パッケージには複数の名前空間を設定できます。フォルダーを作成すると、新しい名前空間が作成されます。ドット (.) 表記を使用して、他の名前空間にアクセスできます。

// folder 1  
package folder

func Folder() any {
// some function body here
return 0;
}

別の名前空間から別の名前空間にアクセスする例を次に示します。

 
// folder 2, file in different namespace
package directory

func directory() {
// accessing the Folder function from the folder namespace
folderFunc := folder.Folder()
}

あなたがする必要があります 識別子をエクスポートする 名前を大文字にして、外部名前空間の識別子にアクセスします。

主な機能

主要 関数は、Go プログラムのエントリ ポイントとして機能します。メイン関数なしで Go ファイルまたはパッケージを実行することはできません。あなたが持つことができます 主要 任意の名前空間で機能します。ただし、1 つだけ持つ必要があります。 主要 ファイルまたはパッケージで機能します。

これは簡単です ハローワールドプログラム 実証するために 主要 関数:

package main 
import "fmt"

func main {
fmt.Println("Hello, World!")
}

このコードは、 主要 の機能 主要 パッケージの名前空間。次に、 fmt パッケージ化して使用する プリントイン 文字列をコンソールに出力するメソッド。

Go でのパッケージのインポート

他の多くの言語と比較して、パッケージと依存関係のインポートは簡単です。の 輸入 キーワードは、パッケージをインポートする機能を提供します。を使用して、標準ライブラリと外部依存関係からパッケージをインポートできます。 輸入 キーワード。

import "fmt" 

上記の例では、1 つのパッケージをインポートしています。複数のパッケージをインポートできます。の後に括弧でパッケージを指定する必要があります 輸入 声明。

import ( 
"fmt" // fmt for printing
"log" // log for logging
"net/http" // http for web applications
"encoding/json" // json for serializing and deserializing structs to JSON
)

import ステートメントに区切り文字を追加することは無効です。パッケージ名の前にカスタム名を指定することで、インポートのカスタム名を宣言できます。

import ( 
"net/http"
encoder "encoding/json" // alias import here
)

ここで、 json カスタム名のパッケージ エンコーダ .カスタム名 (encoder) でパッケージの関数と型にアクセスする必要があります。

一部のパッケージでは、副作用のために他のパッケージをインポートする必要があります。パッケージ名の前にアンダースコアを追加する必要があります。

どのYouTubeビデオが削除されたかを確認する方法
import ( 
_ "fmt" // side effects import
"log"
)

副作用のためにインポートしたパッケージにアクセスすることはできませんが、依存関係を構成すると依存関係にアクセスできます。

Go Run と Go Build

を使用します。 走る 建てる Go コードをコンパイルして実行するコマンド。これらには同様の機能があり、パッケージの実行に使用します。

走る コマンドは、コンパイル命令と実行命令の組み合わせです。の 走る コマンドは、作業ディレクトリに実行可能ファイルを作成せずにパッケージを実行します。の後にパッケージ名のファイル名を指定する必要があります 走る 指図。

go run file.go // executes a file 
go run packagename // executes the package

建てる command は、パッケージまたはファイルをバイナリ実行可能ファイルにコンパイルするコンパイル コマンドです。

を実行すると、 建てる ファイルまたはパッケージ名の後に引数を指定せずにコマンドを実行すると、go はパッケージのルート ディレクトリに実行可能ファイルを生成します。

go build main.go // compiles a file  
go build "package name" // compiles a package

プログラムを再コンパイルする必要があります 建てる パッケージを変更するときのコマンド。

ディレクトリを引数として指定できます。 建てる コマンドは、指定されたディレクトリに実行可能ファイルを出力します。

go build file -o "directory" 

Go でできることはたくさんあります

Go 標準ライブラリは強力で直感的です。外部依存関係をインストールする必要なく、最新のアプリケーションをすばやく構築できます。

2009 年に Go がリリースされて以来、開発者や企業は、さまざまな分野でさまざまなユース ケースに Go を使用してきました。その成功は主に、Go が C に似たパフォーマンスに加えて Python に似た構文を提供するためです。