「コードと格闘していた初期の頃のことを今でも覚えています。
基本的なこと?そこに着いていました。しかしその後、構造体が登場し、すべてがぼやけて感じられました。何かを壊し続けて、コードがめちゃくちゃになってしまいました。私の何が間違っていたのでしょうか?
座って Go 構造体の基本を学び、それを効果的に使い始めて初めて、ようやく物事がうまくいきました。それがターニングポイントでした。突然、コードがより組織化され、効率的で、クリーンになりました。それにより、プログラミングへの取り組み方が変わり、これまでにないほどコーディングを楽しめるようになりました。」
もしあなたが同じ立場にあるなら、構造体がなぜそれほど強力なのか疑問に思っているなら、この投稿はあなたのためです。構造体をわかりやすく説明し、構造体がコーディング ゲームをどのように変えることができるかを説明しましょう!
構造体とは何ですか?
Go では、構造体は、さまざまな種類のデータを 1 つに束ねることを可能にする青写真のようなものです。これは、人、車、本などの複雑なエンティティをモデル化するためのカスタム データ構造と考えてください。
たとえば、 Person 構造体には、人の名前、年齢、性別などのフィールドを保持でき、関連情報をグループ化するのに最適です。
構造体を使用する理由
構造体を使用すると、関連するデータを整理してバンドルすることができるため、複雑なデータ モデルの管理が容易になります。ユーザー、製品、在庫を追跡するアプリを構築する場合でも、住所に番地、市区町村、郵便番号が含まれるのと同じように、構造体を使用するとさまざまな種類のデータをグループ化できます。
構造体の宣言: 基本
構文は非常に単純です。キーワード type、その後に構造体名、そして中かっこ内のフィールドを指定して構造体を定義します。
type Person struct { Name string Age int Gender string }
これで、名前 (文字列)、年齢 (整数)、性別 (文字列) の 3 つのフィールドを含む Person 構造体が完成しました。
構造体フィールドへのアクセスと変更
構造体のフィールドにアクセスするには、単純にドット (.) 演算子を使用します。
fmt.Println("Name:", person.Name) fmt.Println("Age:", person.Age) fmt.Println("Gender:", person.Gender)
フィールドを変更しますか?簡単!他の変数と同じように値を変更できます:
person.Age = 26 fmt.Println("Updated Age:", person.Age)
プログラマーはなぜ構造体を信頼しないのですか?
彼らは自分たちの「畑」を扱いたくないからです
構造体メソッド: 動作の追加
ここからがさらに興味深いことになります。構造体にメソッドをアタッチして動作を与えることができます。それは、構造体に何かを実行する能力を与えるようなものです!
Person 構造体の Greet メソッドを定義しましょう:
func (p Person) Greet() string { return "Hello, my name is " + p.Name }
これで、相手に挨拶させることができます:
fmt.Println(person.Greet())
入れ子になった構造体を使用した構造体: 物事を複雑にしつつもシンプルにする
Go 構造体は内部に他の構造体を保持できるため、より複雑なデータをモデル化する場合に便利です。完全なプロファイルの Address 構造体を含む Student 構造体を想像してください:
type Address struct { City string State string } type Student struct { Name string Age int Address Address }
これで Student を作成し、次のようにネストされたフィールドにアクセスできるようになります:
student := Student{ Name: "Fred Gitonga", Age: 21, Address: Address{ City: "Kisumu", State: "Mamboleo", }, } fmt.Println(student.Name, "lives in", student.Address.City)
「プログラムは人が読めるように書かれなければなりませんが、偶然に機械が実行できるようにする必要があります。」 — ハロルド・エイベルソン
構造体に関するよくある間違い
構造体を乱暴に使用する前に、次のよくある落とし穴に注意してください。
練習すれば完璧になります!
結論: 重要なポイント
私にとって Go 構造体がコーディングを容易にするのであれば、あなたも同じようにしてくれるはずです。コーディングを楽しんでください!
以上がGo Structs を学んでコーディングが好きになった経緯の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。