Go言語

no image

Go言語

【Go言語】並行処理を書くときには「拘束」を意識すべきなんじゃ!!

2021/2/14  

拘束 情報(データ)を、確実に1つの並行プロセスからのみ得られるようにすること。 これが実現できると プログラマーがデータの中身を意識する負荷が下がる クリティカルセクションが小さくなる 並行プログラ ...

no image

Go言語

【Go言語】select文を理解したいんじゃ!!

2021/2/13  

select文はチャネルの送受信操作を多重化できる。 select文の構文 select文の書き方は、switch文に似ている。 select { case <-ch1: // ch1から受信し ...

no image

Go言語

【Go言語】「バッファありチャネル(channel)」を理解したいんじゃ!!

2021/2/4  

チャネル(channel)はゴルーチン(goroutine)間で値を受け渡しすることができる通信の仕組みで、チャネルは要素型と呼ばれる特定の型の値のみ送信できる。 今回は、「バッファなしチャネル」と異 ...

no image

Go言語

【Go言語】fmtパッケージで標準入力を受け取る

2021/1/29  

AtCoderやpaiza、コーディングテストで「標準入力から値を受け取る」処理を書く必要があります。 最近、AtCoderを始めたので、fmtパッケージで標準入力を受け取る方法をまとめてみます。 ( ...

no image

Go言語 Ruby

バブルソート(Bubble Sort)とは?RubyとGo言語で実装

2021/1/23  

バブルソート(Bubble Sort) バブルソートとは、隣り合う要素の大小を比較しながら整列させるソートアルゴリズム。 最悪計算時間がO(n2)と遅いが、アルゴリズムが単純で実装が容易で、並列処理と ...

no image

Go言語

【Go言語】sortパッケージでのソート処理

2020/12/1  

Go言語でソートするときは、sortパッケージを使う。 sortパッケージは、スライスやユーザーが独自に定義したコレクションをソートするプリミティブを用意している。 標準パッケージで対応している型 f ...

no image

Go言語

【Go言語】syncパッケージのOnceの使い方

2020/11/29  

Onceとは? syncパッケージで定義されている。 Onceはアクションを1度のみ実行するオブジェクト。 OnceにはDoメソッドが定義されている。 Doメソッドは引数として渡された関数を、Once ...

no image

Go言語

【Go言語】syncパッケージのMutex/RWMutexの使い方

2020/11/21  

Mutexとは? 「Mutex(ミューテックス)」は「相互排他」を表す"mutual exclusion"の略で、クリティカルセクション(共有リソースに対する排他的なアクセスが必要な場所)を保護する方 ...

no image

Go言語

【Go言語】mapのforループの繰り返し順序はランダム(サンプルコード付)

2020/11/19  

Go言語でmapに対してforループを実行したとき、繰り返し順序はランダム(実行するたびに異なる)になるって話。 実行結果が順序に依存するような処理を書いていると、実行するたびに結果が異なるので注意! ...

no image

Go言語

Go言語初心者がハマりがちなforループ内でのgoroutine(ゴルーチン)

2020/11/12  

どうも、駆け出しGopherです。 今回は、forループ内でgoroutine(ゴルーチン)を使う場合にGo言語初心者がハマりがちな罠について書きます。 結論から書くと 結論forループ内で別のgor ...

no image

Go言語

【Go言語】メソッドのレシーバーとnil

2020/10/25  

Go言語のメソッドには 値レシーバ(変数レシーバ) ポインタレシーバ の2つがある。 値レシーバ 値レシーバは、メソッド呼び出し時に変数の値をコピーし、新たな値をメソッドに渡す。 そのためメソッド内で ...

no image

Go言語

【Go言語】flagパッケージで独自の型のオプションを定義する

2020/9/9  

flagパッケージを使うと、string型やint型、bool型のオプションを設定することができますが、オプションをsliceとして受け取るする場合などは独自の型を定義する必要があります。 flagパ ...

no image

Go言語

【Go言語】0(ゼロ)埋め

2020/9/6  

時刻や日にちなど、「05」、「06」といったようにゼロ埋めしたいときありますよね? Go言語でゼロ埋めする方法を備忘録としてまとめました。 Go言語でゼロ埋めする方法 verbsを使うだけです。 例え ...

no image

Go言語

【Go言語】「バッファなしチャネル(channel)」を理解したいんじゃ!!

2021/2/3  

バッファなしチャネル(channel)とは チャネル(channel)はゴルーチン(goroutine)間で値を受け渡しすることができる通信の仕組みで、チャネルは要素型と呼ばれる特定の型の値のみ送信で ...

no image

Go言語

【Go言語】文字コード、文字列リテラル、ルーンとは?

2020/7/24  

Go言語にはルーン(rune)という型があります。 Go言語を勉強し始めたとき、ルーンって何って感じで混乱したので、「ルーンとは何なのか?」を中心にGo言語のstring型、rune型について学んだ内 ...

© 2021 フリエン生活 Powered by AFFINGER5