2
1

More than 3 years have passed since last update.

眺めて覚えるGo言語

Last updated at Posted at 2019-12-19

眺めながら学習する超簡単言語!

いきなりGOLANG

image.png

ex1.go
package main
import (
    "fmt"
)
func main() {
    fmt.Println("hello world")
}
C:\Users\hirat\go-work\web\hello>go run ex1.go
hello world

お決まりのコンソール出力

ex2.go
package main
import (
    "fmt"
)
func main(){
    a:=10
    b:=20
    c:=a+b
    fmt.Println(a,b,c)
}
C:\Users\hirat\go-work\web\hello>go run ex2.go
10 20 30

単純整数計算でした。

ex3.go
package main
import (
    "fmt"
)
func main() {
    a := 10
    b := 20
    c := a * b
    fmt.Printf("a=%v b=%v c=%v", a, b, c)
}
C:\Users\hirat\go-work\web\hello>go run ex3.go
a=10 b=20 c=200

Printfを使って出力

ex4.go
package main

import (
    "fmt"
)

func main() {
    a := 10
    b := 3
    c := a / b
    fmt.Printf("a=%v b=%v c=%v", a, b, c)
}
C:\Users\hirat\go-work\web\hello>go run ex4.go
a=10 b=3 c=3

整数で計算でした

ex5.go
package main

import (
    "fmt"
)
func main() {
    a := 10.0
    b := 3.0
    c := a / b
    fmt.Printf("a=%v b=%v c=%v", a, b, c)
}

go run ex5.go
a=10 b=3 c=3.3333333333333335

浮動小数点になります

ex6.go
package main

import (
    "fmt"
)

func main() {
    s:=0
    for i:=1;i<=10;i++{
        s+=i
    }
    fmt.Printf("s=%v",s)
}
C:\Users\hirat\go-work\web\hello>go run ex6.go
s=55

サクッとfor loop

ex7.go
package main

import (
    "fmt"
    "strconv"
)

func main() {
    for i:=1;i<=10;i++{
        s:="Hello "+strconv.Itoa(i)+"\n" //intから文字列に変換
        fmt.Printf(s)
    }   
}
C:\Users\hirat\go-work\web\hello>go run ex7.go
Hello 1
Hello 2
Hello 3
Hello 4
Hello 5
Hello 6
Hello 7
Hello 8
Hello 9
Hello 10

整数を文字列に変換して(strconv.Itoa)

ex8.go
package main
import (
    "fmt"
)
func main(){
    a:=[]int{1,2,3,4,5,6,7,8,9,10}
    for _,x:=range a{
        fmt.Println(x)
    }    
}
C:\Users\hirat\go-work\web\hello>go run ex8.go
1
2
3
4
5
6
7
8
9
10

サクッとforeach

ex9.go
package main
import (
    "fmt"
    "strings"
)
func main(){
    a:=strings.Split("千葉,西千葉,稲毛,新検見川,幕張,幕張本郷,津田沼,東船橋,船橋,西船橋,下総中山,本八幡,市川,小岩,新小岩,平井,亀戸,錦糸町,両国,浅草橋,秋葉原",",")
    for i,x:=range a{
        fmt.Println(i,x)
    }    
}
C:\Users\hirat\go-work\web\hello>go run ex9.go
0 千葉
1 西千葉
2 稲毛
3 新検見川
4 幕張
5 幕張本郷
6 津田沼
7 東船橋
8 船橋
9 西船橋
10 下総中山
11 本八幡
12 市川
13 小岩
14 新小岩
15 平井
16 亀戸
17 錦糸町
18 両国
19 浅草橋
20 秋葉原

サクッとforeach index

ex10.go
package main

import (
    "fmt"
    "strings"
)
func main(){
    a:=strings.Split("千葉,西千葉,稲毛,新検見川,幕張,幕張本郷,津田沼,東船橋,船橋,西船橋,下総中山,本八幡,市川,小岩,新小岩,平井,亀戸,錦糸町,両国,浅草橋,秋葉原",",")
    for i,x:=range a{
        if strings.Contains(x,"新"){
            fmt.Println(i,x,"新が含まれます。")
        } else if strings.Contains(x,"橋"){
            fmt.Println(i,x,"橋が含まれます。")
        } else {
            fmt.Println(i,x)
        }       
    }    
}
C:\Users\hirat\go-work\web\hello>go run ex10.go
0 千葉
1 西千葉
2 稲毛
3 新検見川 新が含まれます
4 幕張
5 幕張本郷
6 津田沼
7 東船橋 橋が含まれます
8 船橋 橋が含まれます
9 西船橋 橋が含まれます
10 下総中山
11 本八幡
12 市川
13 小岩
14 新小岩 新が含まれます
15 平井
16 亀戸
17 錦糸町
18 両国
19 浅草橋 橋が含まれます
20 秋葉原

とりあえずこれだけ知っていたら書けます。

2
1
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
2
1