1週間でお問い合わせが73件ありました。

✉️FIELDにお問い合わせ

アプリケーション開発

Go言語入門の入門(vagrant/centos7にgo入れて変数にぶち込んでPrintするだけ)

公式ページ

https://golang.org/

さて見ていきましょう。

go言語が選ばれる理由…それは…

  1. シンプル
  2. 高速
  3. 1つのプログラムから複数のプロセスやスレッドを生成する

だそうです。

まずはvagrantでCentOS7を立ち上げてgolangをインストールします。

そういえば…macを新しくしたばかりだったのでvagrant listしても何も出てこないところから。。。

yamamoto@MacBook-Pro go % vagrant box add centos/7
==> box: Loading metadata for box 'centos/7'
    box: URL: https://vagrantcloud.com/centos/7
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) hyperv
2) libvirt
3) virtualbox
4) vmware_desktop

Enter your choice: 3
==> box: Adding box 'centos/7' (v2004.01) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box
Download redirected to host: cloud.centos.org
Progress: 3% (Rate: 99258/s, Estimated time remaining: 1:05:2

Estimated time remaining: 1:05:2
(心が折れそうです。)

待つこと1時間…

==> box: Successfully added box 'centos/7' (v2004.01) for 'virtualbox'!

ありがとうございます。

yamamoto@MacBook-Pro go % vagrant init centos/7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
yamamoto@MacBook-Pro go % vagrant up

ではvagrant sshで入ってみましょう。

で、ログインしたら早速goをインストールしてみます。

vagrant ssh
sudo yum install epel-release
sudo yum install -y golang

これでcentos7にgoが入ったので、
準備できました。

小さいgo言語プログラムを書いてみましょう。

package main
import "fmt"

func main() {
    var txt string
    txt = "変数はこのように上でvar XXX 型 という形で宣言してから使う"
    var txt2 , txt3 string
    txt2 = "このようにtxt2とtxt3を同時にstring型で宣言したりできる/ちなみにデフォルトは空文字。"
    var int1 , int2 int
    int1 = 1
    int2 = 2
    text4 := "↑このようにintも宣言できる。あと宣言と変数導入を:=で同時に行うこともできる"
    int3 , int4 := 3 , 4
    var (
       sampleint int
       sampletext string
    )
    sampleint = 1000
    sampletext = "このように、複数の型をvar()で宣言もできる"

    fmt.Println("Hello 世界")
    fmt.Println(txt2)
    fmt.Println(txt3)
    fmt.Println(text4)
    fmt.Println(int1)
    fmt.Println(int2)
    fmt.Println(int3)
    fmt.Println(int4)
    fmt.Println(sampleint)
    fmt.Println(sampletext)

    fmt.Println(txt)
    fmt.Println("fmtをimportしてるのでfmtオブジェクトの中の関数がいろいろ使える")
    fmt.Println("型は、小数点のfloat64 ,true/falseのbool , nilもあるよ")

    //printfを使うと、%d や%f  %sなど、どの型の値を表示するか仕様的に決まってるので
    //↓このようなこともできます。
    name := "yamamoto"
    age  := 37
    kg :=80.5
    flg :=true

    fmt.Printf("%s , %d , %f , %t" , name ,age ,kg ,flg)
}
~         

はい。index.goを作ります。goのファイルはpackageに所属しないとなので、
mainというpackageを使っています。
そうするとこでfunc main(){}が使えます。

で、いろいろプログラムの中で解説してるので読んでください。

実行するときはファイルを閉じてから
go run index.goと実行します。

宣言してても使ってない変数があるとエラーで実行できません。
間違った変数名で実行してると一つでも間違っている場合は全て実行されません。

実行結果はこれになります。


[vagrant@localhost ~]$ go run index.go
Hello 世界
このようにtxt2とtxt3を同時にstring型で宣言したりできる/ちなみにデフォルトは空文字。

↑このようにintも宣言できる。あと宣言と変数導入を:=で同時に行うこともできる
1
2
3
4
1000
このように、複数の型をvar()で宣言もできる
変数はこのように上でvar XXX 型 という形で宣言してから使う
fmtをimportしてるのでfmtオブジェクトの中の関数がいろいろ使える
型は、小数点のfloat64 ,true/falseのbool , nilもあるよ

さて、次回はifやeachや関数などをやっていきます。

Yamamoto Yuya

プロフェッショナルとしての高いスキルと知識を持ち、誠実さと責任感を大切にする。常に向上心を持ち、新たな挑戦にも積極的に取り組む努力家。

  • 生肉食べながらLaravelの解説でもするか。

    といったらもうってくらいみんな使ってる今日は生肉でも食べながらを解説していこうと思いますなかなかな肉

    • #システム
    • #laravel
  • Pythonのbeautiful soupでウェブサービスを瞬時にクローリングするよー

    である住所の部屋の全ての金額を取得するクロラ作って欲しいんだけど今日中に作れると言われた時のなら可能

    • #システム
    • #クローリング
  • Go言語の構造体で世の中の全てを表すことが…

    可能ですさて書いていきましょう複数のデタやメソッドを一つの型として定義したものそれが構造体ですまずは

    • #go言語
  • Go言語の関数定義と[配列][スライス][map]についてなんか書く。

    サムネイルは言語バンコクという連想ですまずは関数の基礎から最小単位を書きますさんが返りますはいまず関

    • #go言語
  • Next.js/Reactで静岡県島田市家山の屋号マップを作ってみた。

    島田市家山の屋号マップをご覧くださいまずはいつものような感じです静岡県島田市家山の屋号マップこのの中

    • #システム
    • #javascript
    • #next.js
  • Go言語入門の入門「ポインタ」でつまずくことなかれ。

    前回までのあらすじ前回はに入れて変数にぶち込んでするだけということをやりました今日はポインタをやって

    • #システム
    • #go言語