C++,Python,Go対照学習-01

1552 ワード

実はGoを学ぶのはただ游ぶためで、ただ游ぶためで、学习の过程の中でどうしても他の私の知っている言语の思惟の定势と习惯を持ち込むことができて、これによってこの対照的な学习の记录があって、学习の足迹を残すと思っています.ここで言及する言語特性はC++で最新のC++11規格を指し、PythonはPython 3を指す.x(2.xは学んでいない)、Goは最新の1.1変数宣言Goにおける変数宣言の時順は変数名->変数タイプであり、変数タイプを無視して結果を推定することができるa:=5この時aはintタイプC++における変数宣言の順は変数タイプ->変数名である.autoキーワードからauto a=5などの変数タイプを推定できます.このときaがint Pythonであるすべての変数の宣言は、キーワードで変数タイプを指定する必要のないdeferがGoであるdeferキーワードで1つの関数またはメソッドの実行を遅延するために使用され、周辺関数またはメソッドが戻る前にその値が戻る(ある場合).私が言いたいのは、初めて使ったとき、こいつはとてもsharedに似ているような気がしたことです.ptr、sharedよりptrは軽くしなければならない.shared_ptrは、どのような方法で役割ドメインを離れる(正常に離れる、異常が発生する)ことにかかわらず、リソースが正しく解放されるように、削除器においていくつかのリソース解放を行うことができるプロファイル時の削除器を指定することができる.Python...資源がいつ解放されるか全然知らないrangeはGoでrangeはキーワードで、常に2つの値を返します.1つは下付きで、1つは具体的な値です.
func main() {

	list := []int{10, 11, 12, 13, 14, 15}

	for key, value := range list {

		fmt.Println("key:", key, "value:", value)

	}

}

出力:key:0 value:10 key:1 value:11 key:2 value:12 key:3 value:13 key:4 value:14 key:5 value:15 Pythonでrangeは1つの関数が0から指定された長さの連続整数シーケンスを返すので、少し拗ねていくつかの例で分かります
a = range(0,10)

for value in a:

	print(value)

結果は0,1,2,3,4,5,6,7,8,9 c++中木にこれがあるが,C++は類似の機能の範囲反復を提供する
int a[] = {0,1,2,3,4,5,6,7,8,9};

for(auto i : a)

{

    cout << i << " ";

}

//01 2 3 4 5 6 7 8 9スライス額うんGo中のスライスとPythonの大類.Pythonの基礎があって簡単に入門する同時Goは言語そのものが同時を支持するので、PythonとC++はすべてライブラリの形式で同時を実現します.Goの中で合併を実現するのは本当に簡単です......これらはその一部にすぎないが、他の部分は後で陸が続々と書き続ける時間があるだろう.