Golang
deleteみたいな関数はないようなので自分で書きましょう。ダメな例 func delete(s []int, i int) []int { s = append(s[:i], s[i+1:]...) return s } func main() { s := []int{1, 2, 3, 4, 5} s = delete(s, 2) //slice:[1 2 4 5], len:4, cap:5 fmt.Printf…
containsみたいな関数はないようなので自分で書きましょう。 func contains(s []int, e int) bool { for _, v := range s { if e == v { return true } } return false }
こんにちは。がわわです。自分が詰まった部分は「Google App EngineのDatastoreで*Keyの配列をjsonで返す」というところでした。 以下は、ヘッダーに書かれたユーザーIDのtweet一覧をTweetというカインドから引っ張ってきて、keyとtweetをjsonで返す関数を書…
goroutineは軽量なスレッド go funcでfuncを別スレッドで実行できる 同期する際はチャネルを使う チャネルに値を受信するまで送信されないし、受信の準備ができるまでチャネルから送信されない ch := make(chan 型)の形で生成 チャネルにはバッファ(許容量…
インターフェース型のerrorにError() stringという文字列を返すメソッドが定義されている 返すエラーを自分で定義する際はstructを定義して、Error() stringのメソッドを実装 httpパッケージからHTTPリクエストの処理機能が提供されている インターフェース…
Goの関数はクロージャ クロージャとはそれ自身の外部から変数を参照する関数の値 43での実装例はadder関数がクロージャを返していて、sum変数が関数に関連づけられて保持されている switch文でcaseの最後で自動的にbreakする breakせずに通したい場合はfallt…
こんにちは。がわわです。sliceとmapが主な内容です。 参照渡し、値渡しって注意しないとなんだかよくわからなくなっちゃいますね。【slice】 sliceはarrayのように要素数を明示的に表示しない柔軟な配列 sliceにsliceを代入する際は参照を渡す sliceやarray…
こんにちは。がわわです。 今のところ滞りなく進められているので楽しいです。 以下、学習メモ。(自分で調べたものも含まれています) iotaは定数の宣言で使用されconstが出るたびにリセットされて0になる、グループ内で定数を定義するごとに1増える >は右…
こんにちは。がわわです。GolangでAPIを書いていて、わからないことが多くてしんどいことが多いので、基本を勉強するべきだと思い"A Tour of Go"の学習を開始しました。実行環境が用意されているので楽しく勉強できます。 自分の学習法は 一度動かしてみて結…
goapp serveした状態で http://localhost:8000 にアクセスするだけです。これでいちいちデプロイしなくても動作確認できますね。