Golang CLIコンパイラオンライン
Goコードをオンラインで即座に実行・テストできるブラウザベースのCLIツール。設定不要で学習やデバッグに最適。
🚀 176,673 合計実行 (649 今月)
👨💻 実践的に学べるGoのおすすめコース
Loading...
💡 初心者のためのGo基本ガイド
1. 変数と定数の宣言
var
または :=
を使って変数を宣言します。定数には const
を使います。
package main
var x int = 10
const Pi = 3.14
func main() {
name := "Alice"
isActive := true
println(x, Pi, name, isActive)
}
2. 条件分岐 (if / switch)
Goはクリーンな構文で if-else
と switch
文をサポートしています。
x := 2
if x == 1 {
println("One")
} else if x == 2 {
println("Two")
} else {
println("Other")
}
switch x {
case 1:
println("One")
case 2:
println("Two")
default:
println("Other")
}
3. ループ
Goは for
ループのみを使用しますが、whileループのように動作させることができます。
for i := 0; i < 3; i++ {
println(i)
}
n := 3
for n > 0 {
println(n)
n--
}
4. 配列
配列は固定サイズです。動的リストにはスライスを使用します。
var nums = [3]int{10, 20, 30}
println(nums[1])
5. スライスの操作
スライスと組み込みの append
, len
, copy
, およびスライス構文を使用します。
fruits := []string{"apple", "banana"}
fruits = append(fruits, "cherry")
fruits = fruits[1:] // スライス
println(len(fruits))
for _, fruit := range fruits {
println(fruit)
}
6. コンソール入出力
fmt.Print
, fmt.Scan
, fmt.Println
を使用します。
import "fmt"
var name string
fmt.Print("Enter your name: ")
fmt.Scan(&name)
fmt.Println("Hello", name)
7. 関数
関数は func
で宣言され、複数の値を返すことができます。
func greet(name string) string {
return "Hello, " + name
}
message := greet("Alice")
println(message)
8. マップ
マップはキーと値のストアです。make()
で宣言します。
ages := map[string]int{"Alice": 30}
ages["Bob"] = 25
println(ages["Alice"])
9. エラーハンドリング
Goは例外の代わりにエラーを複数の戻り値で扱います。
import "errors"
func fail() error {
return errors.New("something went wrong")
}
err := fail()
if err != nil {
println(err.Error())
}
10. ファイル入出力
os
と io/ioutil
パッケージを使用してファイルを読み書きします。
import (
"fmt"
"os"
"io/ioutil"
)
ioutil.WriteFile("file.txt", []byte("Hello File"), 0644)
data, _ := ioutil.ReadFile("file.txt")
fmt.Println(string(data))
11. 文字列操作
文字列操作には strings
パッケージを使用します。
import "strings"
text := " Hello World "
println(strings.TrimSpace(text))
println(strings.ToUpper(text))
println(strings.ReplaceAll(text, "Hello", "Hi"))
words := strings.Split(text, " ")
fmt.Println(words)
12. 構造体とオブジェクト
構造体を使用してメソッドを持つカスタム型を定義します。
type Person struct {
Name string
}
func (p Person) Greet() string {
return "Hi, I'm " + p.Name
}
p := Person{Name: "Alice"}
println(p.Greet())
13. 参照 (ポインタ)
Goは *
と &
を使ってポインタをサポートしています。
x := 10
ptr := &x
*ptr = 20
println(x) // 20