0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Go速查表の宣伝記事 cheat sheets

Last updated at Posted at 2024-07-16

go-preview.png

こんにちは、皆さん!Go言語を学んでいる方々に朗報です!Goの速查表が登場しました!基本的な構文やメソッドをすぐに確認できるので、学習効率がアップします。速查表の詳細はこちらからチェックしてください。

速查表の内容

はじめに

hello.go

package main

import "fmt"

func main() {
    fmt.Println("Hello, world!")
}

実行方法

$ go run hello.go
Hello, world!

または、GoのREPLで試してみてください。

変数

var s1 string
s1 = "Learn Go!"

// 複数の変数を一度に宣言
var b, c int = 1, 2
var d = true

// 短縮宣言
s1 := "Learn Go!"        // string
b, c := 1, 2             // int
d := true                // bool

関数

package main

import "fmt"

// プログラムのエントリーポイント
func main() {
    fmt.Println("Hello world!")
    say("Hello Go!")
}

func say(message string) {
    fmt.Println("You said: ", message)
}

コメント

// シングルラインコメント

/* マルチライン
 コメント */

条件文

if true {
    fmt.Println("Yes!")
}

基本的な型

文字列

s1 := "Hello" + "World"

s2 := `A "raw" string literal
can include line breaks.`

// 出力: 10
fmt.Println(len(s1))

// 出力: Hello
fmt.Println(string(s1[0:5]))

数値

num := 3         // int
num := 3.        // float64
num := 3 + 4i    // complex128
num := byte('a') // byte (alias: uint8)

var u uint = 7        // uint (unsigned)
var p float32 = 22.7  // 32-bit float

演算子

x := 5
x++
fmt.Println("x + 4 =", x + 4)
fmt.Println("x * 4 =", x * 4)

ブール値

isTrue   := true
isFalse  := false

fmt.Println(true && true)   // true
fmt.Println(true && false)  // false
fmt.Println(true || true)   // true
fmt.Println(true || false)  // true
fmt.Println(!true)          // false

配列

primes := [...]int{2, 3, 5, 7, 11, 13}
fmt.Println(len(primes)) // => 6

// 出力: [2 3 5 7 11 13]
fmt.Println(primes)

// 同じく [:3], 出力: [2 3 5]
fmt.Println(primes[0:3])

var a [2]string
a[0] = "Hello"
a[1] = "World"

fmt.Println(a[0], a[1]) //=> Hello World
fmt.Println(a)   // => [Hello World]

2次元配列

var twoDimension [2][3]int
for i := 0; i < 2; i++ {
    for j := 0; j < 3; j++ {
        twoDimension[i][j] = i + j
    }
}
// => 2d:  [[0 1 2] [1 2 3]]
fmt.Println("2d: ", twoDimension)

ポインタ

func main () {
  b := *getPointer()
  fmt.Println("Value is", b)
}

func getPointer () (myPointer *int) {
  a := 234
  return &a
}

a := new(int)
*a = 234

スライス

s := make([]string, 3)
s[0] = "a"
s[1] = "b"
s = append(s, "d")
s = append(s, "e", "f")

fmt.Println(s)
fmt.Println(s[1])
fmt.Println(len(s))
fmt.Println(s[1:3])

slice := []int{2, 3, 4}

定数

const s string = "constant"
const Phi = 1.618
const n = 500000000
const d = 3e20 / n
fmt.Println(d)

型変換

i := 90
f := float64(i)
u := uint(i)

// 文字 'Z' に等しい
s := string(i)

文字列関数

package main

import (
	"fmt"
	s "strings"
)

func main() {
    /* strings を s としてインポート */
	fmt.Println(s.Contains("test", "e"))

    /* 組み込み関数 */
    fmt.Println(len("hello"))  // => 5
    // 出力: 101
	fmt.Println("hello"[1])
    // 出力: e
	fmt.Println(string("hello"[1]))
}

fmt.Printf

package main

import (
	"fmt"
	"os"
)

type point struct {
	x, y int
}

func main() {
	p := point{1, 2}
	fmt.Printf("%v\n", p)                        // => {1 2}
	fmt.Printf("%+v\n", p)                       // => {x:1 y:2}
	fmt.Printf("%#v\n", p)                       // => main.point{x:1, y:2}
	fmt.Printf("%T\n", p)                        // => main.point
	fmt.Printf("%t\n", true)                     // => TRUE
	fmt.Printf("%d\n", 123)                      // => 123
	fmt.Printf("%b\n", 14)                       // => 1110
	fmt.Printf("%c\n", 33)                       // => !
	fmt.Printf("%x\n", 456)                      // => 1c8
	fmt.Printf("%f\n", 78.9)                     // => 78.9
	fmt.Printf("%e\n", 123400000.0)              // => 1.23E+08
	fmt.Printf("%E\n", 123400000.0)              // => 1.23E+08
	fmt.Printf("%s\n", "\"string\"")             // => "string"
	fmt.Printf("%q\n", "\"string\"")             // => "\"string\""
	fmt.Printf("%x\n", "hex this")               // => 6.86578E+15
	fmt.Printf("%p\n", &p)                       // => 0xc00002c040
	fmt.Printf("|%6d|%6d|\n", 12, 345)           // => |    12|   345|
	fmt.Printf("|%6.2f|%6.2f|\n", 1.2, 3.45)     // => |  1.20|  3.45|
	fmt.Printf("|%-6.2f|%-6.2f|\n", 1.2, 3.45)   // => |1.20  |3.45  |
	fmt.Printf("|%6s|%6s|\n", "foo", "b")        // => |   foo|     b|
	fmt.Printf("|%-6s|%-6s|\n", "foo", "b")      // => |foo   |b     |

	s := fmt.Sprintf("a %s", "string")
	fmt.Println(s)

	fmt.Fprintf(os.Stderr, "an %s\n", "error")
}

この速查表は、Go言語の基本から応用まで幅広くカバーしています。ぜひ、こちらからダウンロードして、日々のコーディングに役立ててください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?