Goのbyteとstringについて

備忘録的なメモ

byte型とは

  • uint8のシノニム
  • uint8は8bit(1byte)の整数(0~255)

string型とは

  • immutableなバイト型のスライス

文字列の連結

  • 文字列は+=で連結できるが、連結の度にメモリ割り当てを行うため効率が悪い
  • strings.Builderbytes.Bufferを用いることで効率的に文字列連結ができる
  • bytes.BufferStringメソッド呼び出し時にメモリコピーが走るが、strigns.Builderは発生しない(内部的にunsafe.Pointerを使っている)
s1 := "hello "
s1 += "world"
fmt.Println(s1) // hello world

var b strings.Builder
b.WriteString("hello ")
b.WriteString("world")
fmt.Println(b.String()) // hello world

byteとstringの変換

stringとbyteはキャストにより相互に変換できる

b := []byte("hoge")
fmt.Println(b) // [104 111 103 101]

s := string(b)
fmt.Println(s) // hoge

ただし、変換の際に文字列データのコピー(新しい文字列領域の確保)が発生してしまう

どんな仕事も楽しくなる3つの物語を読んだ

仕事を面白いものにする5つの心構え

1. 仕事の意味を考える

仕事の意味を忘れると目の前の出来事に翻弄され、それらに対処するだけで精一杯になってしまう。仕事には決められた役割があれど、決められた意味があるわけではない。自分がやる気になる、元気になる、生きがいを感じるように意味を付け加える。それによって仕事を楽しいものに変えることができる。

2. ものごとを前向きに受け止める

仕事には失敗は付き物。問題が起きたことが問題なのではなく、その問題をどのように受け止めて、次にどのように活かしていけるかが本当の問題。どのような出来事でも、自分の受け止め方次第で、その後の結果は大きく変わる。受け止め方というのは、性格ではなく選択である。自分の意思によって、どのような選択をするかを決めることができる。日々の選択の連続が習慣となり、その人の人生となる。

3. 自己原因で考える

物事の原因はどこにでも存在し、誰にすることも自由にできる。周りの他人や環境のせいにして、「ああして欲しい」「こうして欲しい」と期待するほど、自分の思い通りにならず裏切られ、不満が募るようになっていく。つまり、不満を募らせているのは、他でもない自分自身である。自分自身の中で原因を見つけることができれば、問題解決のスタートラインに立つことできる。

4. 自分の可能性を信じて、自分らしくやる

自分らしさとは「こだわり」のこと。自分が今置かれている環境を自分の舞台だと思って真剣に取り組めば、それはすでに自分らしく働いていることになる。本気になるほど「こだわり」が発揮される。少しでも、自分が気になることを改善し続けたり、自分がこだわりを持っていることを追求し続けたりすることで、どんどん自分らしいものになっていく。

5. 目指すことを、あきらめない

簡単にあきらめる人ほど、不満や愚痴を言う準備をしている。あきらめないと決めると、他人から怒られたり、非難されたとしても、それがアドバイスとして受け止められるようになる。何を言わても、あきらめないため、全てが行動に活かされる。

所感

ここ最近、仕事に対するモチベーションが低く、目の前のタスクに逃げ腰で取り組んでいた。主体的に仕事をしていないので当然、日々心はボロボロになっている。この本を読み終え、今の仕事に前向きに取り組めない原因を、環境や他人に求めていたことに気づいた。自分にとって理想的な職場を探すことは人生を豊かにする上で大切かもしれないが、必ず妥協しなければならない点は発生する。今まで務めていた会社は、良い面と悪い面が大体同じ数ほどあった。転職する理由は、建設的にやりたい事の実現のためだけでなく、不満に耐えられなくなり、半ば逃げに近い気持ちがあったかもしれない。振り返ると恵まれた環境ばかりだった。悪い面というのは、はたして会社が原因だったのだろうか。自分自身で追い詰め、悲観的に物事を捉えていた節もあったはずだ。当時、もう少し踏ん張っていれば、何か変わっていたのだろうか。そんなことを考えると暗い気持ちになってしまうが、今置かれている環境に感謝し、やりがいや、成長できるスキルなどに目を向けた方が理想的な職場を見つけるより手っ取り早いと分かる。エンジニアになるために上京したばかりの頃、誰よりも遅く会社に残り、誰よりもプログラミングを楽しんでいた。自分のセンスと未来を信じていた。あの頃と何が違うか。おそらく、ここ数年間で自分なりの成功もあったが、多くの悩みに振り回されたことが影響しているだろう。他人と比較し、劣等感に苛まれることばかりだった。こうした気持ちの中で、少しずつ、当初のワクワクした気持ちが失われていったのかもしれない。興味が失われたのではと考えたが、昨年から通い始めた大学の授業を楽しめていることから、問題はモチベーションではないと分かる。不満を作り出しているのは、他でもない自分自身だ。あの頃の気持ちに戻るため、無理ない程度から少しずつ、あきらめず、本気で取り組んでいきたいと思った。きっと、ワクワクした気持ちは後からついてくるだろう。

夢をかなえるゾウ4を読んだ

「夢をかなえるゾウ」とは累計400万部を突破する大人気の自己啓発本であり、1~4までシリーズ化されている。

以前、その中の1作目が Amazon Kindle Unlimited で無料で読めることもあったので、試しに読んでみたところ、 ストーリー仕立てでとても分かりやすく、一気読みするほど夢中になった。

ネット上の評価では、面白さでいうと1作目、次点で4作目という意見が多かったので2, 3を飛ばして4を読む事にした。

結論から言うと、涙なくして読むことができなかった。

普段、忙しない日々の中で「死」を意識することなどほぼないが、 自分の人生に対して後悔しないよう生きるには、もっと身近に死の存在を意識する必要があると感じた。

もし今日が人生最後の日だとして、自分の人生に一切の悔いがなかったと言えるだろうか。   思い浮かぶことは「ああしておけばよかった」「もっとこうしたかった」など後悔ばかりで、とても「やりきった!」と胸を張って言えない。 そして後悔の大半は、人の目を気にして行動できなかったことばかりだろう。

人生の終わりからみたら、今の悩みなんてちっぽけなもの。 今後はもう少し肩の力を抜いて、自分の本当にやりたいことに取り組んでいきたいと思った。