Golang
Go言語の入門書には必ずstring・byte・runeが出てきます。 サラッと書かれていることが多く、そんなものかと分かった気になって軽く流してしまいがちなのですが、いざプログラムを組み始めると、それぞれを相互変換する場面が頻発して混乱してしまいます。 …
Go言語のバージョン1.18からGenericsが入りました。 自分がGo言語を使う範囲では、汎用的な関数を書くこともないし、関数の記述も長くなるので、Genericsを使うことはないかなと思っていました。 便利な機能が追加されていた とは言え、Genericsを全く知らな…
JavaScript(TypeScript)で書かれたプログラムを、Go言語で書き直しました。 その動機や、書き換えた結果などを書こうと思います。 また、今回Go言語が初めてだったので、Go言語とはどういったものかや、Go言語をやってみた感想なども合わせて書こうと思いま…
ゴルーチン リーク Go言語はめちゃめちゃ簡単にゴルーチン(スレッドのようなもの)を作れるのが魅力です。 あまりにも簡単なので、あまり深く考えずゴルーチンを生成していたのですが、ゴルーチンはメインフローとは別に切り離されて実行されるので、デッド…
Go言語を始めました。 何か新しいことを学ぶ時には、ワンストップで体系立て全体像が把握できる、書籍を読むやり方が好きです。 今回「Go言語による並行処理」を読んだのですが、とても良かったので、ここに感想を書きました。 Go言語による並行処理 並行処…
Go言語は、シンプルな関数を組み合わせてプログラミングをすることが多く、また、関数毎にエラーチェックが発生するので、全般的にコードが長くなりがちです。 ちょっとした事をしたい時でも、コードをそれなりに書く必要があるのですが、毎回ゼロから書くの…
Go言語は、シンプルな関数を組み合わせてプログラミングをすることが多く、また、関数毎にエラーチェックが発生するので、全般的にコードが長くなりがちです。 ちょっとした事をしたい時でも、コードをそれなりに書く必要があるのですが、毎回ゼロから書くの…
Go言語は、シンプルな関数を組み合わせてプログラミングをすることが多く、また、関数毎にエラーチェックが発生するので、全般的にコードが長くなりがちです。 ちょっとした事をしたい時でも、コードをそれなりに書く必要があるのですが、毎回ゼロから書くの…
Go言語は、シンプルな関数を組み合わせてプログラミングをすることが多く、また、関数毎にエラーチェックが発生するので、全般的にコードが長くなりがちです。 ちょっとした事をしたい時でも、コードをそれなりに書く必要があるのですが、毎回ゼロから書くの…
Golangでプログラムを書いていて、プログラムが長くなってきたので、パッケージに分けてみました。 構成 ディレクトリ構成は下記のような感じ。 . |-- a | `-- a.go |-- b | `-- b.go `-- main.go 手順 方針 Go Modules を使って、プログラムを1つのモジュ…
Golangを始めました。 GolangはC言語のように、シンプルな文法・データ構造でできているのですが、同時に、生産性を高めるための、高度な概念も取り入られています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それら…
Golangを始めました。 Golangはポインターを使います。 Golangは歴史的に新しい言語なので、ポインターを意識しないで、何となくコードを書けば良しなに動いてくれるのかなと思ったのですが、甘かったです…。 ポインター自体はよくあるもので、とりあえずポ…
Golangを始めました。 GolangはC言語のように、シンプルな文法・データ構造でできているのですが、同時に、生産性を高めるための、高度な概念も取り入られています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それら…
Golangを始めました。 始めてみて感じたのですが、Golangはできるだけ文法をシンプルにかつ、できるだけコードがシンプルになるように設計されています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それらを知らずに、…
Golangを始めました。 始めてみて感じたのですが、Golangはできるだけ文法をシンプルにかつ、できるだけコードがシンプルになるように設計されています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それらを知らずに、…
Golangを始めました。 始めてみて感じたのですが、Golangはできるだけ文法をシンプルにかつ、できるだけコードがシンプルになるように設計されています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それらを知らずに、…