Golang は比較的新しいプログラミング言語として、特にバックエンド開発の分野でますます注目と支持を集めています。この記事では、初心者がすぐに始められるように、Golang の基本的な構文と一般的なプログラミング パラダイムを紹介します。
1. 基本構文
変数を宣言するにはさまざまな方法があり、var キーワードまたは := 演算子を使用できます。型推定:
var i int // 默认值为0 i = 10 j := "Hello World" // 自动推导类型为string
定数ライフでは、列挙型、値、文字列などに使用できる const キーワードが使用されます。:
const ( Pi = 3.14159265358979323846 Apples = 1 << iota // Apples的值是1左移0位,即1 Oranges // Oranges的值是1左移1位,即2 Bananas // Bananas的值是1左移2位,即4 )
Go 言語の制御構造は、if-else、switch-case、for ループ、ジャンプ ステートメントなど、他の言語と同じです:
if i > 10 { fmt.Println("i is greater than 10") } else { fmt.Println("i is less than or equal to 10") } switch { case i < 0: fmt.Println("i is negative") case i > 0: fmt.Println("i is positive") default: fmt.Println("i is zero") } for i := 0; i < 10; i++ { fmt.Println(i) } // 跳转语句 goto label1 fmt.Println("this line will never get executed") label1: fmt.Println("jumped to label1")
配列は値型であり、長さは宣言時に決定されますが、スライスは参照型であり、長さは動的に変化します。スライスは、make 関数を通じて作成することも、スライス操作によって生成することもできます。
// 数组 var arr [5]int for i := 0; i < 5; i++ { arr[i] = i } // 切片的创建和操作 var slice1 []int = arr[1:3] slice2 := make([]int, 5, 10) // 第2个参数是长度,第三个参数是容量 slice2 = append(slice2, 1, 2, 3)
Golang の構造体は、フィールドを定義するだけでなく、メソッドを定義します。構造体のポインタ型では、. 演算子と -> 演算子を使用してフィールドとメソッドにアクセスできます:
type Person struct { name string age int } func (p Person) SayHello() { fmt.Println("Hello, my name is", p.name, ", and I am", p.age, "years old.") } func main() { p := Person{name: "Alice", age: 30} p.SayHello() pp := &p fmt.Println(pp.age) }
2. プログラミング パラダイム
Golang のオブジェクト指向プログラミングも、構造とメソッドに大きく依存します。ここでは、インターフェイス タイプを使用して共有メソッドを定義できます。
type Animal interface { Speak() string } type Dog struct { name string } func (d Dog) Speak() string { return "Woof! I am " + d.name } func main() { d := Dog{"Fido"} fmt.Println(d.Speak()) }
Golang は、同時プログラミングを自然にサポートする言語です。 goroutine と Channel の 2 つの概念を使用すると、効率的な並行プログラムを簡単に実装できます:
func worker(id int, c chan int) { for { n, ok := <-c if !ok { break } fmt.Printf("Worker %d received %d ", id, n) } fmt.Printf("Worker %d is done ", id) } func createWorker(id int) chan<- int { c := make(chan int) go worker(id, c) return c } func main() { c := make(chan int) var wg sync.WaitGroup for i := 0; i < 10; i++ { wg.Add(1) go func(id int) { c := createWorker(id) for j := 0; j < 10; j++ { c <- j } wg.Done() }(i) } wg.Wait() close(c) time.Sleep(time.Second) }
上記は、Golang の基本的な構文とプログラミング パラダイムです。より高度な言語機能と実用的なアプリケーション シナリオについての議論には熟練が必要です。言語をマスターしたら、さらに深い学習と研究に進みます。
以上がgolangでコードを書く方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。