- 行数取得の道具を探しました。
- Microsoft:Copilotに教えてもらいました、結果的に必要な何らかの処理。
- 読み込みできましたが、「_」(アンダースコア)の不要処理部分が気になりました。
- 余談:VSCodeのCopilotは無料上限に達したので、EdgeのCopilotに尋ねました。

爺の暴走…本日は「隠されたヒミツ」を…というほどでもないですが…「_」(アンダースコア)で省略されたのは何か…という内容です。なお、今回はこういったものが入っていた、ということですので、いつも同様とは限りませぬ。そもそも、試してもおりませず、爺の戯言とご容赦のほど。
また、掲載したスクリプトは、部分のため単独では動きませぬ…悪しからず。
行数取得の道具を探しました。
CSVの行数(≒改行数≒\nの数)を求めたいと思い、ネット徘徊しましたが、うまく見つけることができませんでした。for文内では、Pythonだとオブジェクトを置けば自動的に対応する個数分forを回してくれます。enumerate使えば、回数を具体的に表示できるデス。
同じようなことをGo言語で簡単にできないかと妄想しました。
Microsoft:Copilotに教えてもらいました、結果的に必要な何らかの処理。
爺はネット上の情報で解決法を見つけることができませんでしたので、Microsoft:Copilotに教えてもらいました。
CSVをすでに読込み「textX」という変数に入っている前提です。
lines := strings.Split(textX, "\n")
事前に"strings"をimportするという前提が加わります。やっていることは、「Split」を使い行を分割し「lines」に収める…ということみたいです。その際の目印は行の最後に改行(\n)…。複数個改行(\n)があれば、その個数分分割されるのだろうと想像しました。
読み込みできましたが、「_」(アンダースコア)の不要処理部分が気になりました。
次のスクリプトは、「_」となっていたところを「x」に書き直し表示(先頭画像、下半分の左端の数字)しました。
func a_Structure(textX string) {
lines := strings.Split(textX, "\n")
for x, line := range lines {
fmt.Println(x, line) // Process each line
}
}Copilotが教えてくれたのは、「x」のところが「_」(アンダースコア)になっていました。それで、妙に引っかかって、表示させてみたら、0始まりの繰り返し回数が行先頭にありました。最後の「8」はどうやらCSVの最後に[EOF]があるためみたいです。[EOF]がファイルの最後に必須かどうか爺は不知です。今回のファイルには[EOF]があったので「8」(=9行目)が表示されたみたいです。
結果的に、Pythonのenumerateと似たような機能のようですが、ファイル最後の処理など要注意でもありそうです。
余談:VSCodeのCopilotは無料上限に達したので、EdgeのCopilotに尋ねました。
VSCodeでは、同意すればスクリプトを直してくれるCopilotの機能があります。少し使ったら「無料の上限」との案内が出ました。爺は貧乏なので、有料では使えませぬ。「Edge」のCopilotに尋ねました。「無料の上限が存在しますが、具体的な制限や利用状況については詳しい情報を持っていません。」と含蓄のある回答でした。ま、使えるうちは使ってみたら~ということでしょうね。
そして、直接尋ねたい内容をUPし回答を得ることができました。