4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

matsuri technologies 株式会社Advent Calendar 2022

Day 4

呪文:&[]bool{true}[0], aws.Bool(true)

Last updated at Posted at 2022-12-03

Golangを書いている時に、ワンライナーでbooleanのポインタを実装したいと考えていたら出会ってしまった悲しき化け物を紹介します。

ワンライナーでbooleanのポインタを実装

ある日、Golangを書いているときにbooleanのポインターをワンライナーで実装したいという願望が生まれました。
そこで生まれたのがコイツです。

		IsFoo: &[]bool{true}[0]

IsFoo: &true のように書ければいいのですが、Golangではbooleanのポインタを取ることはできません。

どうしてもワンライナーで実装したかったので、booleanのスライスの要素のポインタを取ることで解決しました。

ワンライナー実装の仲間

booleanワンライナー実装は、以下の書き方でも可能です。

        IsFoo: aws.Bool(true)

aws-sdk-goを使っているプロジェクトであればこんな書き方もできます。

でもawsを使っている場所でもないのにaws.Boolがいきなり出てきたら違和感がかなりありますね笑。

ちなみに、Githubをaws.Boolで検索するとGolangで46,392ヒットしますが、この中にはawsに関係がないのにaws.Boolが使われている箇所があるようです。ぜひ探してみてください。

まとめ

Golangのbooleanをワンライナーで実装したい時やレビュワーを困らせたい時がありましたら、&[]bool{true}[0]aws.Bool(true)を使ってみてくだいさい。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?