タグ fmt
人気順 10 users 50 users 100 users 500 users 1000 usersDeno標準モジュール解説[前編] ~Deno標準モジュールの概要と、モジュール解説(Archive~FMT) | gihyo.jp
Deno標準モジュール解説[前編] ~Deno標準モジュールの概要と、モジュール解説(Archive~FMT) Deno標準モジュールを、前編と後編の2回に分けて解説をします。本記事は前編です。 はじめに Deno標準モジュールはDenoコアチームによって開発・メンテナンスされているモジュール群です。Denoを使って様々なプログラムを... 続きを読む
golangではスタックとヒープを気にする必要が無い
調べようと思ったきっかけは、golang では以下のように ローカル変数のアドレスを戻り値としても問題ないということ。 package main import ( "fmt" ) type Animal struct { Name string Age int } func main() { animal := allocAnimal() fmt.Printf("allocate animal structure %p", animal) } func allocAnimal() *An... 続きを読む
numpy より速い?Go の行列演算ライブラリ nune
※ Div だけ妙に遅いのが気になる NumPy は Python とは言え中身はC言語で書かれている事を考えると、結構いいパフォーマンスが出ていると言えるでしょう。 サンプルコード iris のロジスティック回帰を nune で書いてみました。 package main import ( "bufio" "fmt" "log" "math" "math/rand" "os" "github.com/vorduin... 続きを読む
古いaws/aws-lambda-goでAWS Lambdaのcontainer image runtimeを使うと刺さる - その手の平は尻もつかめるさ
具体的に言うと、aws/aws-lambda-go@v1.18.0よりも前のバージョンでAWS Lambdaのcontainer image runtimeを使うとハンドラが呼び出されず、タイムアウトするまで刺さります。 例えば以下のような非常に簡単なLambda Functionをデプロイした時、 package main import ( "context" "fmt" "github.com/aws/aws-lambda-go/ev... 続きを読む
Go で --version の出力を実装する - はやくプログラムになりたい
Go でコマンドラインツールを実装した時に $ some-tool -version のようにバージョンを出力するフラグを実装することが多いと思います.本記事はこれをどう実装するかのメモです. 手動でバージョン情報を管理 素朴にはバージョン情報を定数で持って手動で管理する方法があります. package main import ( "flag" "fmt" ... 続きを読む
Goから学ぶI/O
GoにはI/Oに関わるパッケージが数多く存在します。io, os, bufio, fmtなどなど……。これらの立ち位置や、I/O実行の裏で何が起こっているのか本当に理解していますか?この本では、この問への答えをまとめました。 続きを読む
Big Sky :: Go 言語の struct の実体を引数で(なるべく)渡せない様にするテクニック
Go 言語は struct のレシーバがポインタの場合は実体であってもポインタの場合であっても呼び出せるので、もし struct が参照カウントに従い動作する様な場合は実体でコピーされてしまっては困る場合があります。例えば以下の様なインタフェースを考えます。 package main import ( "fmt" "sync/atomic" "time" ) type f... 続きを読む
nilがnilじゃないのでerrorになるのを静的解析で検出する - Qiita
package main import "fmt" type MyErr struct{} func (*MyErr) Error() string { return "MyErr" } func F1() *MyErr { return nil } func F2() error { return F1() } func main() { err := F2() if err != nil { fmt.Println("Error!") } } F1()がnilを返しているのでF2()もnilを返すのですが、返ってきたerrはnilに... 続きを読む
Big Sky :: Go 言語の Language Server「gopls」が completeUnimported に対応した。
先日、Gopls の v0.2.0 がリリースされました。 v0.2.0 https://github.com/golang/go/issues/33030#issuecomment-549629508 リリースノートに書かれていますが、このバージョンから completeUnimported に対応しています。fmt が import されていなくても fmt.Println が補完できる様になります。ただしデフォルトでは... 続きを読む
QuoteとUnquote #golang - tenntenn.dev
Quoteを行う Goで文字列を""で括って(Quoteして)表示したい場合、fmt.Printf関数を用いて行うことが多いでしょう。 package main import "fmt" func main() { fmt.Printf(`"%s"`, "hoge") } これを実行すると以下のようになります。 $ go run main.go "hoge" 文字列中に"が含まれていた場合に、Goのソースコード上の文... 続きを読む
golangで電卓Webアプリケーションを作ってみた - Qiita
はじめに Goを用いて簡単な【電卓Webアプリケーション】を作成したので、アウトプットしたいと思います! アプリ画面 コード package main import ( "fmt" "html" "math/big" "net/http" ) // ServerHTTPメソッド用の構造体型 type Server struct{} // httpリクエストを受け取るメソッド func (Server) ServeHTTP(w http... 続きを読む
難病に効果のある「癒やしのうんこ」を出す能力者の存在が研究によって示される - GIGAZINE
健康な人の便を患者に投与することで腸内細菌の生息バランスを整えて症状の改善を狙う「便微生物移植(FMT)」という治療法が近年注目されています。そんなFMTに関するこれまでの臨床研究データから、指定難病などの治療に効果が期待される「癒やしのうんこ」を出せる人が存在するかもしれないと、オークランド大学の研究... 続きを読む
gowrtr - goコード生成支援ライブラリ - その手の平は尻もつかめるさ
gowrtr (go writerと発音します) というgoのコード生成支援ライブラリ (ジェネレータ群) を書きました. github.com Synopsisに書いたように, package main import ( "fmt" "github.com/moznion/gowrtr/generator" ) func main() { generator := generator.NewRootGenerator( generator.NewCommentGenerator(" THIS COD... 続きを読む
fmt.Printfなんかこわくない - Qiita
package main import ( "fmt" ) func main() { fmt.Printf("%v\n", true) fmt.Printf("%v\n", 42) fmt.Printf("%v\n", uint(42)) fmt.Printf("%v\n", 12.345) fmt.Printf("%v\n", 1-2i) fmt.Printf("%v\n", "寿司 続きを読む
Golang で Let's Encrypt の証明書を発行して使用する
Golang で ACME プロトコルがサポートされてたみたいなので試してみた。 Document のとおりなんだけれど、以下のコードだけで証明書を発行してListenまでしてくれる。 golang.org/x/crypto/acme/autocert package main import ( "fmt" "log" "net/http" "golang.org/x/crypto/acme/autocert" ) func main() { mux := htt... 続きを読む
Golangで軽量なSSHサーバを実装する - Fire Engine
今回は、Golangのgolang.org/x/crypto/sshパッケージを使って、SSHサーバを構築してみました。 かなりミニマムな実装ですが、リモートからSSH接続して、対話的にコマンドが実行できるところまで実装しました。 コード github.com package main import ( "golang.org/x/crypto/ssh" "log" "net" "io/ioutil" "fmt" "os/ex... 続きを読む
Go言語のHTTPリクエストのレスポンスボディーとEOF - プログラムモグモグ
2017 - 12 - 12 Go言語のHTTPリクエストのレスポンスボディーとEOF Reader interface の Read 関数は、どのタイミングで io.EOF を返すのでしょうか。 まずは strings.Reader で見てみましょう。 package main import ( "fmt" "strings" ) func main() { r := strings.NewRe... 続きを読む
Goでコマンドライン引数と環境変数の両方からflagを設定したい - Qiita
Goで実装したプログラムでオプションをコマンドライン引数から取るには標準の flag パッケージを使いますが、値を環境変数からも読みたいことがあります。(特に Docker で動かす場合) https://github.com/namsral/flag を使うと便利です。標準の flag を置き換える形で、import 1行で対応できます。 package main import ( "fmt" ... 続きを読む
【golang学習シリーズ】iotaの不思議 | from umentu import stupid
golangのiotaの動作について簡単な例を書いてみた。iotaなるものを初めて知ったので、まとめてみた。 変数に連番を作る時にとても便利だし、固有の値を自動的に振り分けるのに便利。 詳細な仕様は公式リファレンスを参照のこと。 package main import ( "fmt" ) func main(){ /* 0から始まり、自動的にインクリメントされる */ const ( a = io... 続きを読む
Goのスコープについて考えてみよう #golang - Qiita
はじめに Twitterで以下のような投稿をしてみました。 https://twitter.com/tenntenn/status/815807925222412292 この問題は、以下のコード中に存在するスコープの数を聞いている問題です。 package main import "fmt" func main () { const message = "hello, world" fmt . P... 続きを読む
Big Sky :: Vim プラグインの機能として golang を使う。
golang 1.5 から、x86_64 のみですが -buildmode=c-shared というビルドオプションが足される事になりました。 これは、golang で共有ライブラリを生成する為のオプションで、例えば package main import ( "C" "fmt" ) var ( c chan string ) func init() { c = make(chan string)... 続きを読む
Go でコードを書く時のかゆいところに手が届く goquickfix というのを書いた - 詩と創作・思索のひろば
2015-03-10 Go でコードを書く時のかゆいところに手が届く goquickfix というのを書いた Go go run や go test でコードを試しながら書きながら……というフェーズでは、以下のような状況によく遭遇することと思います: デバッグプリント用のコードを削除したら、"log" や "fmt" パッケージが不要になって imported and not used: "log... 続きを読む
Big Sky :: ソースに一行追加するだけですべての HTTP 通信が環境変数指定のプロキシではなくIEの設定になるモジュールを書いた #golang
通常、golang のデフォルトの HTTP クライアントは環境変数 HTTP_PROXY もしくは HTTPS_PROXY を参照してプロキシに接続し、環境変数 NO_PROXY で指定されたホストが無視される仕組みになっています。しかし一般ユーザにとって環境変数の設定は、難易度の高い作業だったりします。 使用例 たとえばこういうコードに… package main import ( "fmt"... 続きを読む
Go言語でエクセルファイル (.xlsx) を読み込む - 森薫の日記
2014-08-09 Go言語でエクセルファイル (.xlsx) を読み込む Go言語 Go言語でエクセルファイル (.xlsx) の内容を読み込む方法を調べました。以下のライブラリをインストールします。 $ go get -v github.com/tealeg/xlsx main.go package main import ( "fmt" "github.com/tealeg/xlsx" )... 続きを読む
Big Sky :: golang で N 個の chan を同時に待つ
あと最近の発見と絶望は、C.selectが呼び出せないこと。select中のdefaultでnonblocking相当にできるけど、可変数なfdをselectしたい相当をどう書けばいいんだろうか。 #golang— HiroakiKawai (@kwi) July 28, 2014 reflect.Select を使います。 package main import ( "fmt" "math/ra... 続きを読む