koji/メガネ男の日誌

日々の学び、活動状況を記録します。仕事のことは少なめ。

GoとPythonを比較してみた

f:id:kj_man666:20200927111630j:plain

Goのハンズオンに参加してGoをざっと学びましたので、多少かじっているPythonと比較してみました。

techplay.jp

今回だけでは終わり切らないので、引き続き比較を続けようと思います。

なお、コードはWindows環境を前提としております。

今回のコードはこちら

プログラムの実行

Go

# コンパイル
go build プログラム名.go

# exeファイルの実行
.\プログラム名.exe

Python

python3 プログラム名.py

型の指定と出力、型確認

Go

import (
    "fmt"
    "reflect"
)

func main() {
    var num int = 42
    fmt.Println(num)
    fmt.Println(reflect.TypeOf(num))
}

【出力】
42
int

Python

num = 42
print(num)
print(type(num))

【出力】
42

Print関数

Go

package main

import (
    "fmt"
)

func main() {
// 改行あり
    fmt.Println(42)
    fmt.Println(42)

// 改行なし
    fmt.Print(42)
    fmt.Print(42)
}

【出力】
42
42
4242

Python

# 改行あり
print(42)
print(42)

# 改行なし
print(42, end="")
print(42, end="")

【出力】
42
42
4242

その他 GoのPrint関数の違い qiita.com

フォーマット済み文字列

Go

package main

import (
    "fmt"
)

func main() {
    var age int = 42
    fmt.Printf("父は%d歳である\n", age)
}

【出力】
父は42歳である

Python

print()
age = 42
print("父は{}歳である".format(age))
print(f"父は{age}歳である")

【出力】
父は42歳である
父は42歳である

キーボードからの入力を取得

Go

package main

import (
    "fmt"
)

func main() {
    var key int
    fmt.Scan(&key)
    fmt.Println(key)
}

【出力】
入力によって異なるため省略

Python

key = input()
print(key)

【出力】
入力によって異なるため省略

以上になります、最後までお読みいただきありがとうございました。