GO (Golang) 面接での質問トップ 20 (2025)
ここでは、新人だけでなく経験豊富な GO プログラマー候補者が夢の仕事に就くための Golang 面接の質問と回答を紹介します。
1) GO とは何ですか?
GO は、シンプルで信頼性が高く効率的なソフトウェアを簡単に構築できるオープンソース プログラミング言語です。 プログラムはパッケージから構築され、そのプロパティにより依存関係を効率的に管理できます。
無料 PDF ダウンロード: GO プログラミング インタビューの質問と回答
2) GO の構文はどのようなものですか?
GO の構文は Extended Backus-Naur Form (EBNF) を使用して指定されます
- Production = プロダクション名 “=” [式]
- 式 = 代替 { “l” 代替 }
- 代替 = 用語 { 用語 }
- 用語 = Production_name l トークン [ "…"token] l グループ l オプション l 繰り返し
- グループ = " ( " 式")"
- オプション = “ [ “ 式 “ ]”
- 繰り返し = " {" 式 "}"
3) 文字列リテラルとは何ですか?
文字列リテラルは、一連の文字を連結して得られる文字列定数を表します。 XNUMXつの形式がありますが、
- 生の文字列リテラル: 生の文字列リテラルの値は、逆引用符 '' で囲まれた文字シーケンスです。 文字列リテラルの値は、引用符間の連続した文字で構成される文字列です。
- 解釈された文字列リテラル: 二重引用符「」で囲まれて表現されます。 二重引用符で囲まれたテキスト (改行を含めることはできません) がリテラルの値を形成します。
4) Go プログラムのパッケージについて説明しますか?
すべての GO プログラムはパッケージで構成されています。 プログラムはパッケージ内で実行を開始します メイン。 このプログラムはインポート パスを持つパッケージを使用しています 「fmt」 「数学/ランド」。
5) GO のワークスペースについて説明しますか?
ワークスペース内には GO コードを保持する必要があります。 ワークスペースは、ルートに XNUMX つのディレクトリがあるディレクトリ階層です。
- src には、パッケージに編成された GO ソース ファイルが含まれています
- pkg にはパッケージ オブジェクトが含まれており、
- bin には実行可能なコマンドが含まれています

6) GO 言語でカスタム パッケージを使用する方法を説明しますか?
ライブラリを別の go get –table プロジェクトとして作成し、ライブラリが内部使用である場合は、次のようにコード化できます。
- プロジェクトのディレクトリの下に、ライブラリ ファイルを含むディレクトリを配置します。
- プロジェクトを構成するワークスペースのルートを基準とした相対パスを使用してライブラリを参照します。
たとえば、 src/myproject/mylib/mylib.go などです。 。 。 main.go さて、 メイン.ゴー あなたは出来る myprojec/mylib をインポートします.
7) GOPATH 環境変数とは何ですか?
GOPATH 環境変数は、ワークスペースの場所を決定します。 これは、Go コードを開発するときに設定する必要がある唯一の環境変数です。
8) GO でテストを行う方法を説明してください。
以下で構成される軽量のテスト フレームワークを備えています。 テストに行く コマンドと テスト パッケージ。 テストを作成するには、_testing で終わる名前のファイルを作成する必要があります。 Go には、署名 func (t *testing.T) を持つ TestXXX という名前の関数が含まれています。 テスト フレームワークは、そのような各関数を実行します。

9) 文字列型とは何ですか?
文字列型は文字列値のセットを表し、文字列値はバイトのシーケンスです。 一度作成した文字列は変更できません。
10) GO の利点は何ですか?
- GO は非常に速くコンパイルします
- Go は言語レベルでの同時実行をサポートします
- 関数は GO のファーストクラスのオブジェクトです
- GOにはガベージコレクションがあります
- 文字列とマップは言語に組み込まれています
11) GO に組み込まれているサポートを列挙してください。
GO で利用可能な組み込みサポートには次のものがあります。
- コンテナ: コンテナ/リスト、コンテナ/ヒープ
- Webサーバー: net/http
- 暗号化: Crypto/md5 、crypto/sha1
- 圧縮: 圧縮/gzip
- データベース: データベース/SQL
12) GO の Go ルーチンとは何ですか? どうすれば日常生活をやめられるでしょうか?
ゴルーチンは、他の関数と同時に実行できる関数です。 ゴルーチンを停止するには、ゴルーチンにシグナル チャネルを渡します。そのシグナル チャネルは、ゴルーチンを停止したいときに値をプッシュするために使用されます。 goroutine は、信号を検出するとすぐにチャネルを定期的にポーリングし、終了します。
Quit : = make (chan bool) go func ( ) { for { select { case <- quit: return default // do other stuff } } }() // Do stuff // Quit goroutine Quit <- true
13) GO で複数行の文字列を記述する方法を説明してください。
GO で複数行の文字列を記述するには、生の文字列リテラルを使用できます。この場合、文字列は二重引用符ではなく逆引用符で区切られます。 ' 行 1 行 2 行 3 '
14) GO プログラムに渡されるコマンドライン引数にアクセスする方法を説明してください。
コマンドライン引数には、 os.Args 変数。 例えば、
Package main import ( "fmt" "OS" ) func main () { fmt.Println(len(os.Args), os.Args) }
15) GO でポインタがどのように表現されるのか説明してください。
GO では、ポインターは * (アスタリスク) 文字とその後に格納される値の型を使用して表されます。
16) 印刷せずに文字列をフォーマットするにはどうすればよいですか?
印刷せずに文字列をフォーマットするには、コマンドを使用する必要があります
return fmt.Sprintf ( "at %v, %s" , e.When , e.What )
17) GO の配列の動作が C とどのように異なるのか説明してください。
ゴーで 配列 Cでの動作とは動作が異なります
- 配列は値であり、ある配列を別の配列に代入すると、すべての要素がコピーされます。
- 配列を関数に渡すと、関数は配列へのポインタではなく、配列のコピーを受け取ります。
- 配列のサイズはその型の一部です。 [10] int 型と [20] int 型は別個のものです
18) GO インターフェースについて説明しますか?
GO では、インターフェイスはオブジェクトの動作を指定する方法です。 インターフェイスは、 "タイプ" 単語の後に名前とキーワードインターフェイスが続きます。 インターフェースは XNUMX つのものとして指定されます。
- 一連のメソッド
- タイプとも言います
19) Type アサーションが何に使用され、どのように行われるかを説明してください。
型変換は、GO で異なる型を変換するために使用されます。 型アサーションはインターフェイス値を受け取り、そこから指定された明示的な型の値を取得します。
20) GO 言語では、実行時に変数の型をどのように確認できますか?
GO では、実行時に変数の型をチェックするために特別なタイプのスイッチが専用に用意されており、このスイッチはタイプ スイッチと呼ばれます。 また、Type Switch を使用してインターフェイス値のタイプを切り替えることもできます。
これらの面接の質問は、あなたの活力(口頭)にも役立ちます
GoLang に関する優れた質問のコレクション