C# は、Windows デスクトップ アプリケーションの開発によく使用される、非常に人気のあるオブジェクト指向プログラミング言語です。 Golang は、Google によって開発されたオープンソース プログラミング言語であり、高性能分散 Web アプリケーション開発で広く使用されています。この記事では、C# コードを Golang コードに変換する方法を紹介し、2 つの言語の類似点と相違点を探ります。
C# と Golang の構文の違い
C# では、クラスの定義は通常、「class」キーワードで始まり、その後にクラス名と中括弧で囲まれたクラス本体が続きます。 Golang では、型は構造体 (struct) またはインターフェイス (interface) として表現することも、関数として表現することもできます。
以下は C# クラス定義の例です:
class MyClass { private string name; private int age; public MyClass(string name, int age) { this.name = name; this.age = age; } public void Print() { Console.WriteLine("Name: " + name); Console.WriteLine("Age: " + age); } }
したがって、Golang では、キーワード「struct」を使用して型を定義し、型メンバーを中括弧で囲むことができます。以下は Golang の構造定義の例です。
type MyClass struct { name string age int } func (m *MyClass) Print() { fmt.Println("Name: ", m.name) fmt.Println("Age: ", m.age) }
Golang のメソッド定義は C# のメソッド定義とは異なることに注意してください。 Golang では、メソッドが属する型を識別するために、メソッドの定義の前に受信者 (つまり、メソッドの呼び出し元) を置く必要があります。
変数と定数の定義
C# では、変数を定義するには、通常、最初に変数の型を指定する必要があります。たとえば、次のようになります。
int i = 5; string s = "hello";
Golang では、変数の型を指定します。変数は、その初期値が自動的に推測されるものに基づくことができます。例:
i := 5 s := "hello"
Golang は、次のような複数の変数の宣言と初期化もサポートしています。
var a, b int = 1, 2
同様に、定数の定義も異なります。 C# では、定数はキーワード「const」を使用して定義する必要があります:
const double Pi = 3.14159;
Golang では、定数はキーワード「const」を使用して定義します:
const Pi float64 = 3.14159
文字列操作の違い
String は C# と Golang でも同様に表現され、文字シーケンスを二重引用符で囲みます。ただし、この 2 つは文字列の操作が異なります。 C# では、文字列処理は非常に便利で柔軟です。文字列連結文字 " " を使用して 2 つの文字列を結合できます:
string s1 = "hello"; string s2 = "world"; string s3 = s1 + s2;
Golang では、文字列を接続するためにプラス記号を使用することは違法です。 「fmt.Sprintf」を「」に置き換えてください。例:
s1 := "hello" s2 := "world" s3 := fmt.Sprintf("%s%s", s1, s2)
例外処理
C# では、try-catch ステートメント ブロックを使用して例外処理を実装できます。例:
try { // 一些异常可能会发生 } catch (Exception ex) { // 在catch代码块中处理异常 }
Golang では、例外処理はエラー (エラー) 値を返すことで完了します。例:
func SomeFunction() error { // 一些异常可能会发生 } if err := SomeFunction(); err != nil { // 处理错误 }
概要
この記事では、C# と Golang の基本的な違いと、C# コードを Golang コードに変換する方法について簡単に説明します。これら 2 つの言語の設計思想は異なりますが、両方とも独自の利点と用途があります。これらの言語の違いを深く理解することで、ユースケースに合ったプログラミング言語をより適切に選択し、コードの品質と効率を向上させることができると私は信じています。
以上がC#からGolangへの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。