go言語入門学習サイト

go言語初心者のために基礎から解説します。

2023-01-01から1年間の記事一覧

【初心者向け】サーバとは何か?

go言語をやってるけどサーバを良く知らない。 確かに知らなくても動かせるが基礎としては知るべきです。【結論】サーバはコンピュータの向こうにあるサービスでWebサイトなどもサーバです。【理由】私達がスマホでWebサイトを見たいとなれば 私達がクライア…

go言語で変数からポインタを取得する

goのポインタは、メモリアドレスを格納する変数です。【結論】変数からポインタを取得する場合は変数の前に&をつけます。【どういうものか】変数の前に&をつけると変数のメモリを返します。 このような形です。 p = 21 // ポインタpを通してiへ値を代入する …

go言語の構造体の基本について

go言語の構造体とは他のプログラミング言語のクラスに相当する機能です。【結論】type 構造体名 struct {} で定義し、フィールド名と型名をすると動かせます。【理由】構造体があると良い理由は複数の値をひとまとめに出来るからです。 わざわざ一つ一つ定義…

go言語でwhile文の動作をfor文で行う。

go言語ではJavaScriptみたくwhile文はありません。while文はないけどfor文で実は同様な処理をできます。 それを実際にやってみます。【やり方】for i 処理 }forの後に条件式を入れてそれがtrueつまり真ならそれが終わるまで繰り返しwhile文と同様な動きしま…

go言語の無名関数とはどんなものか

go言語の無名関数とはその名の通り定義する名前がない関数の事です。 どのように動くかを解説します。【どのようなものか?】func(引数1, 引数2, …) 戻り値の型1, 戻り値の型2, … { 関数の本体 }書き方自体はとてもシンプルです。 関数に直接変数を入れられ…

go言語で数値を使った関数の動き

go言語で数値を使った関数でコードを通じてどんな動きをするかをやってみました。 【数値を使った関数】基本的にgo言語の関数はfunc addOne(n int) int { return n + 2 }関数と戻り値に型をして出来ます。 このコードならaddOneが関数、nが引数、intが型です…

go言語の配列をfor文で処理しよう

go言語で配列をfor文で処理する事をしてみます。今回使う処理が変数名 := [...]型{初期値1, 初期値n} for 初期化式(1.値を初期化) ; 条件式(2.条件) ; 増減式(3.値を更新) { 繰り返される箇所 }この処理を使って実際にコードを動かしてみます。 【コード】①…

go言語の比較演算子の真偽判定

go言語の真偽判定の式について解説します。【結論】== 同じ値であれば true != 異なる値であれば true 【理由】例えば 1 == 2 → false これは同じ値でないからfalseとなります。 1 == 1 → true これは同じ値だからtrueです。1 != 2 → true 1と2は違うからtru…

go言語の多層配列で名前を取り出してみましょう。

go言語の配列では配列を二重にしてより複雑な処理で値を取り出す事ができます。 【結論】配列名 := [サイズ] [サイズ]型{初期値1, ..., 初期値n} 【理由】a := string{ {"Hello", "Go"}, {"Hello", "Python"}, }これはstringで文字列型です。 こんな風に書い…

go言語の静的型付け言語はコンパイラ時にエラーが分かる

go言語はJavaScriptやPythonとは異なり静的型付け言語です。 この静的型付け言語は何かを解説します。 【結論】go言語は全て何らかの型に属しておりその規約は厳格に決まってる。 【理由】静的型付け言語では書き方のルールが厳格ですから例えば演算子で異な…

【基本】go言語の変数は右から新しい型とされる

go言語は右から新しい型になる!go言語では決まった型を指定しないで変数宣言すると右側から型推論します。 どういう事かを解説していきます。 【結論】var i int x:= i x is an int 【理由】型を指定しないというのは:=やvar =にしてコードを書く事です。va…

go言語の基礎的な型変換について

go言語では型変換をする事ができます。 数値型から整数型に変換したりなどの処理が可能です。 それの基礎的な動きを見ていきましょう。 【結論】例えばintからfloat64にする場合はvar i int = 123 f64 := float64(i) 【理由】なぜ型変換が必要なのかと言えば…

【関数】returnに何も書かず戻り値を返す

go言語は戻り値に名前を付けると最初で定義した変数名として使われリターンに何も書かずに戻せます。 【結論】func 関数名(引数) 戻り値の型 { 戻り値の名前を付けた変数の処理 return } 【理由】go言語では名前を変数を使うとreturnに何も書かずに戻せます…

【基本】go言語では関数で二つ同時に引数を返せる

go言語では関数に引数を二つ持たせて同時に処理する事ができます。【結論】func 関数名(変数名 型)(戻り値の型1, 戻り値の型2){ 【具体例】実際にやってみましょう。package mainimport "fmt"func swap(x, y string) (string, string) { return y, x }func m…

【基本】go言語の関数の引数の受け取り

go言語の関数の引数は関数の呼び出し先の値を関数に戻したモノを言います。 その引数の受け取りを見ていきましょう。【結論】関数は 0 個以上の引数を取ることができます。 【理由】func 関数名(引数 引数の型) 返り値の型 { 処理 }と書きます。 そして、型…

【基本】goは大文字で始まるものは外部パッケージから参照できる

Go言語では最初の文字が大文字で始まるものはExported namesで参照できます。 【結論】パッケージを大文字で参照された文字は他のパッケージから見える。【具体例】実際に見てみましょう。package mainimport ( "fmt" "math" )func main() { fmt.Println(mat…

go言語の型を使って動きを見てみます。

go言語のboolやfloatで実際に型の動きを見ていきましょう。【具体例】 ①package mainimport ( "fmt" "math/cmplx" )var ( ToBe bool = false MaxInt uint64 = 1 z complex128 = cmplx.Sqrt(-5 + 12i) )func main() { fmt.Printf("Type: %T value: %v\n", ToB…

go言語で複数の値を初期化する

go言語では複数の変数を一斉に初期化することができます。【結論】Go言語では ,で区切ることで複数の変数を同時に初期化できる。 【理由】var 変数名 データ型 = 初期値を宣言するとgo言語では複数の値を一気に初期化する事ができます。書き方は var x, y in…

go言語で円周率の計算をしてみた

今回はgo言語で円周率の計算します。【具体例】package mainimport ( "fmt" "math" )func main() { fmt.Println(math.Pi) }3.141592653589793【解説】importでmathパッケージを呼び出します。 math.PiのPiは円周率をパイの値で出す処理です。 これを動かすと…

go言語のImportの基本について

go言語のimportとはpackageをインポートするものです。【結論】go言語でパッケージをインポートする時は import "fmt"などとします。 【理由】import を使用します。 GitHub で公開されているパッケージを直接インポートすることができます。 import ( "fmt"…

【関数】go言語の無名関数の基本

無名関数とはその名の通り関数名がない関数です。 なぜ関数名がないのでしょうか?【結論】package mainfunc main() { 変数名 := func (引数 型) 戻り値の型 { // 処理する内容 } } 【理由】通常関数はこう書きます。package mainimport "fmt"// 関数名 func…

戻り値を二つ使った関数の計算

go言語は複数の戻り値を使った計算が関数でできます。 それについて解説します。【結論】 func calculate(a int, b int) (int, int) { sum := a + b diff := a - b return A, B }Goの関数は複数の値を返すことができます。これは、一回の関数呼び出しで複数…

go言語の関数の基本について

go言語の関数の基本的な型を解説します。【結論】func 関数名(引数 型) 戻り値の型 { 処理する内容を記述 }【理由】関数がある理由については何回も同じ処理を書かなくて良いからです。 いちいち同じ処理を書いたらコードは長いし、ミスもしやすくなります。…

go言語の繰り返しの基本

go言語で繰り返しの処理の基礎をやりましょう。 繰り返しは値を指定して、それを増減させます。【結論】for 初期化式(1.値を初期化) ; 条件式(2.条件) ; 増減式(3.値を更新) { 繰り返される部分 } 【理由】package mainimport "fmt"func main() { for i := 0…

【条件分岐】年齢による条件を3つ以上でする

条件分岐はelse if で3つ以上にする事ができます。 実際にコードを動かしてみていきましょう。【結論】if 条件式A { 処理コードA } else if 条件式B { 処理コードB } else { 処理コードC }【コード】 ①package mainimport "fmt"func main() { age := 0 if ag…

【基本】go言語の年齢での条件分岐

ifを使うことで条件分岐ができます。 elseなど複数の分岐の処理を見ていきましょう。 【結論】if 条件式A { 処理コードA } else if 条件式B { 処理コードB } else { 処理コードC }Aになれば処理が終わり、 BになればBで処理が終わる。 違えばCの処理がされる…

【比較演算子】以上と以下についての処理

go言語の以上と以下は=を使います。 この処理もプログラミングする上で基礎となります。 しっかりと身につけておきましょう。【結論】 >=は左の値が大きければfalse ==は左右の値が正しければtrue !=は左右の値が違えばtrue【具体例】package mainimport "fm…

【基本】go言語の算術演算子

go言語の演算子は基礎中の基礎であらゆる処理の場面で使います。 その基礎的な動きをやりましょう。 【結論】 - * + / %を使います。 かけ算は *(アスタリスク)、わり算は /(スラッシュ)、わり算のあまりは %(パーセント)であらわします。 【具体例】 …

【配列】go言語の配列は番号付きロッカー

配列は番号付きロッカーでその指定された番号のロッカーからモノを取り出すイメージです。【結論】変数:=[要素数]データ型{データ1,データ2} で配列の値を操作します。 【理由】番号がついたロッカーを想像して下さい。 1や2など数字が書かれていてその数…

【基本】Go言語の型の基本な動き

Go言語で型を使うことで様々な数値や文字列を出力する事ができます。 その基本的な動きをみましょう。 【結論】varで変数宣言,変数名、データの種類をして fmt.Println(num)で出力ができる。【理由】Go言語はデータ型や文字型などがあります。 それを出力し…