見出し画像

3/24.log

log

今日は午前中からプログラミングをしていて昼過ぎに少し就活をした後またプログラミングをしていました。

昨日からですが高校野球を見ていてりします。特に応援しているような高校はないので中立的な視点で見ているのですが今日は特に接戦が多く面白いと感じました。

プログラミングですが今日は昨日からの続きをしていました。昨日の日記にも書いたのですがGETリクエストのbodyがないのでurlを変更せざるを得ないというものです。とりあえず応急処置としてbody内に入っていたものを全てurlクエリとして出しました。多いものでも後ほど説明する改良を含めてもクエリ3つで済むのでまあこんなもんでしょうと納得できたのでこのままで行こうと思っています。

go側の処理もそこまで大きくは変わらないですね。bodyから受け取っていたものをパラメーターから受け取るように処理を変更するだけです。思いの外簡単にいきました。とりあえずできたのでフロントエンドから値が取得できるか確認をしました。今回は思ったような挙動を確認することができました!

ただ前々から自覚はしていたもののクエリによってはデータ数が150とかいってしまうのでページネーションを追加することにしました。もちろんサーバーから対応させる必要があるので対応。こちらのgormドキュメントを見ただけで簡単に作ることができました。ただ引数や細かな処理は書き換えましたが。

こちらもフロントから動作を確認して今日はこれで終わりました。

今日学習したこと

今日知ったことですがgoって関数のデフォルト値設定できないんですね。知らなかったです。

//php
// これを実現させたい!
public function add (int a = 1, int b = 1) {...

//go
// コンパイルエラー
func Add(a = 1 int, b = 1 int) {...

方法の一つとして関数側ではこの場合例えば0がきたらifでデフォルト値にするとかができるみたいです。ただ調べてみたらそれ以外にも構造体を使う方法があったりと様々なアプローチが考えられるみたいです!

今回の場合ページネーションの1ページのデータ量に使おうとしていました。マジックナンバーにするよりかは関数の引数として渡すことができるようにした方がいいですよね!

関数のデフォルト値に関してマジックナンバー、テキスト回避のため使う頻度が高いと思うのでもう少し調べてみたいと思います!

この記事が気に入ったらサポートをしてみませんか?