この記事はGo (その3) Advent Calendar 2016 2日目の記事です。 こんにちは。開発部の平田です。今回は、Golang に標準で組み込まれているデータ競合の検知の仕組みである race detector と、どのようなケースで検知してくれるのかについて https://golang.org/doc/articles/race_detector.html を元に簡単に紹介したいと思います。 Golang には goroutine という並行処理のための機構があるので、気軽に goroutine を起動して並行処理を書くことが出来ます。その為、意図しない所でレースコンディションが発生してしまうことが時々あります。極力そういったことが起きないように基本的には channel を使って値をコピーして渡したりするのですが、思わぬ所で発生してしまうデータレースに対して検知する仕組
![GoのRaceDetectorと気をつけるべき所|株式会社CAリワード](https://cdn-ak-scissors.b.st-hatena.com/image/square/2aa6a223105ad89c6fe74fce08e759181cfde3da/height=288;version=1;width=512/https%3A%2F%2Ftechblog.ca-reward.co.jp%2F2016%2F12%2Fblog%2Fback.jpg)