検索

Go Basics: Syntax and Structure

Go プログラミング チュートリアル シリーズ のパート 2 へようこそ。このシリーズは、強固な Go (Golang) 基盤を構築するように設計されています。この記事は、Go の基礎: 構文と構造 に焦点を当て、最初の「Hello, World!」からすべてをカバーします。プログラムを変数、定数、データ型などに変換します。 初心者でも、スキルを磨きたいと考えている人でも、このガイドは効率的でクリーンな Go コードを作成するための知識を提供します。

完了すると、次のことができるようになります:

  • 最初の Go プログラムを作成します: Hello, World!
  • main パッケージと main 関数を理解します。
  • 変数、定数、データ型を操作します。
  • Go のゼロ値の概念を理解します。
  • 型推論と型変換を利用します。

始めましょう!


コアコンセプト

1.初めての囲碁プログラム: Hello, World!

すべてのプログラミングの旅は「Hello, World!」から始まります。 Go の場合:

package main

import "fmt"

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

説明:

  • package main: すべての Go プログラムはパッケージ宣言から始まります。 main は実行可能プログラムを示します。
  • import "fmt": コンソール出力用の fmt パッケージ (Println など) をインポートします。
  • func main(): プログラムのエントリ ポイント。ここから実行が開始されます。
  • fmt.Println("Hello, World!"): 「Hello, World!」を印刷します。コンソールへ。

2. main パッケージと main 関数

を理解する
  • main パッケージは、実行可能な Go プログラムを作成するために不可欠です。 これがないと、コードは独立して実行されません。
  • main 関数は main パッケージ内では必須です。それがプログラムの出発点です。

3.基本構文: 変数、定数、データ型

Go は静的に型指定されます。変数のデータ型を指定する必要があります。 ただし、Go は簡潔なコードの型推論もサポートしています。

変数

変数は var:

を使用して宣言されます。
var name string = "Go Programmer"
var age int = 30

短縮表現 (関数内):

name := "Go Programmer"
age := 30

定数

定数は不変の値であり、const:

で宣言されます。
const pi float64 = 3.14159

データ型

Go はさまざまな組み込みデータ型を提供します。

  • 基本タイプ: intfloat64stringbool。例:
var age int = 35
var price float64 = 29.99
var name string = "Bob"
var isActive bool = true
  • 複合タイプ: arrayslicestructmap。例:
// Array
var scores [3]int = [3]int{95, 80, 92}

// Slice
var grades []float64 = []float64{88.2, 91.5, 78.9}

// Struct
type Person struct {
    FirstName string
    LastName  string
    Age       int
}
var person = Person{"Jane", "Doe", 28}

// Map
var capitals map[string]string = map[string]string{
    "France": "Paris",
    "Italy":  "Rome",
}

4. Go のゼロ値

明示的に初期化されていない変数は、ゼロ値を受け取ります:

  • 数値型の場合は 0。
  • false ブール値の場合。
  • 文字列の場合は
  • "" (空の文字列)。
  • nil ポインタ、スラ​​イス、マップ、チャネルの場合。

例:

package main

import "fmt"

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

5.型推論と型変換

Go は割り当てられた値から変数の型を推測します:

var name string = "Go Programmer"
var age int = 30

型変換には明示的なキャストが必要です:

name := "Go Programmer"
age := 30

実践例

変数、定数、データ型、ゼロ値、型推論、型変換を示すプログラムを作成してみましょう:

const pi float64 = 3.14159

(コードは元のテキストの例と同じになりますが、明確さを維持し、繰り返しを避けるために変数名がわずかに異なる可能性があります。)

出力 (元の出力と同様)

(出力は元の例と同様になり、変数の値と型が反映されます。)

説明:

(説明はオリジナルと同じで、コードの各セクションを説明します。)


ベストプラクティス

  1. 説明的な変数名: 明確で意味のある名前を使用します。
var age int = 35
var price float64 = 29.99
var name string = "Bob"
var isActive bool = true
  1. 型推論: 型が明らかな場合は := を使用します。
// Array
var scores [3]int = [3]int{95, 80, 92}

// Slice
var grades []float64 = []float64{88.2, 91.5, 78.9}

// Struct
type Person struct {
    FirstName string
    LastName  string
    Age       int
}
var person = Person{"Jane", "Doe", 28}

// Map
var capitals map[string]string = map[string]string{
    "France": "Paris",
    "Italy":  "Rome",
}
  1. 不必要な型変換を避ける: 必要な場合にのみ変換します。
  2. 明示的な変数の初期化: 変数を明確に初期化します。
  3. 明確な main 関数: main を簡潔に保ちます。ロジックを他の関数に委任します。

結論

この記事では、「Hello, World!」などの Go の基本的な構文と構造について説明しました。プログラム、main パッケージと関数、変数、定数、データ型、ゼロ値、型推論、型変換。 これらの基礎をマスターすることは、Go プログラミングの旅にとって非常に重要です。

サンプル プログラムを試したり、独自のプログラムを作成して理解を深めてください。


行動喚起

この記事は、現在進行中の Go チュートリアル シリーズ の一部です。 Go の制御構造 に関する次のチュートリアルを探してください!

コーディングを楽しんでください! ?

以上がGo の基本: 構文と構造の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PPROFツールを使用してGOパフォーマンスを分析しますか?PPROFツールを使用してGOパフォーマンスを分析しますか?Mar 21, 2025 pm 06:37 PM

この記事では、プロファイリングの有効化、データの収集、CPUやメモリの問題などの一般的なボトルネックの識別など、GOパフォーマンスを分析するためにPPROFツールを使用する方法について説明します。

Goでユニットテストをどのように書きますか?Goでユニットテストをどのように書きますか?Mar 21, 2025 pm 06:34 PM

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?Mar 10, 2025 pm 05:38 PM

この記事では、ユニットテストのためにGOのモックとスタブを作成することを示しています。 インターフェイスの使用を強調し、模擬実装の例を提供し、模擬フォーカスを維持し、アサーションライブラリを使用するなどのベストプラクティスについて説明します。 articl

Debian OpenSSLの脆弱性は何ですかDebian OpenSSLの脆弱性は何ですかApr 02, 2025 am 07:30 AM

OpenSSLは、安全な通信で広く使用されているオープンソースライブラリとして、暗号化アルゴリズム、キー、証明書管理機能を提供します。ただし、その歴史的バージョンにはいくつかの既知のセキュリティの脆弱性があり、その一部は非常に有害です。この記事では、Debian SystemsのOpenSSLの共通の脆弱性と対応測定に焦点を当てます。 Debianopensslの既知の脆弱性:OpenSSLは、次のようないくつかの深刻な脆弱性を経験しています。攻撃者は、この脆弱性を、暗号化キーなどを含む、サーバー上の不正な読み取りの敏感な情報に使用できます。

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?Mar 10, 2025 pm 03:20 PM

この記事では、GENICSのGOのカスタムタイプの制約について説明します。 インターフェイスがジェネリック関数の最小タイプ要件をどのように定義するかを詳しく説明し、タイプの安全性とコードの再利用性を改善します。 この記事では、制限とベストプラクティスについても説明しています

Goの反射パッケージの目的を説明してください。いつリフレクションを使用しますか?パフォーマンスへの影響は何ですか?Goの反射パッケージの目的を説明してください。いつリフレクションを使用しますか?パフォーマンスへの影響は何ですか?Mar 25, 2025 am 11:17 AM

この記事では、コードのランタイム操作に使用されるGoの反射パッケージについて説明します。シリアル化、一般的なプログラミングなどに有益です。実行やメモリの使用量の増加、賢明な使用と最高のアドバイスなどのパフォーマンスコストについて警告します

GOでテーブル駆動型テストをどのように使用しますか?GOでテーブル駆動型テストをどのように使用しますか?Mar 21, 2025 pm 06:35 PM

この記事では、GOでテーブル駆動型のテストを使用して説明します。これは、テストのテーブルを使用して複数の入力と結果を持つ関数をテストする方法です。読みやすさの向上、重複の減少、スケーラビリティ、一貫性、および

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?Mar 10, 2025 pm 05:36 PM

この記事では、トレースツールを使用してGOアプリケーションの実行フローを分析します。 手動および自動計装技術について説明し、Jaeger、Zipkin、Opentelemetryなどのツールを比較し、効果的なデータの視覚化を強調しています

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。