はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ package main

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 7 / 7件)
 

golangではスタックとヒープを気にする必要が無い

2022/06/24 このエントリーをはてなブックマークに追加 88 users Instapaper Pocket Tweet Facebook Share Evernote Clip ビーフ golang fmt スタック ANIMAL

調べようと思ったきっかけは、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... 続きを読む

Golangで軽量なSSHサーバを実装する - Fire Engine

2018/07/28 このエントリーをはてなブックマークに追加 111 users Instapaper Pocket Tweet Facebook Share Evernote Clip golang fmt crypto SSHサーバ SSH

今回は、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のスコープについて考えてみよう #golang - Qiita

2017/01/02 このエントリーをはてなブックマークに追加 50 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita golang fmt スコープ Twitter

はじめに Twitterで以下のような投稿をしてみました。 https://twitter.com/tenntenn/status/815807925222412292 この問題は、以下のコード中に存在するスコープの数を聞いている問題です。 package main import "fmt" func main () { const message = "hello, world" fmt . P... 続きを読む

Big Sky :: Vim プラグインの機能として golang を使う。

2015/06/08 このエントリーをはてなブックマークに追加 66 users Instapaper Pocket Tweet Facebook Share Evernote Clip golang fmt ビルドオプション import Make

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] port 80を開いたあとroot権限を捨てるwebサーバの例 - Qiita

2014/07/16 このエントリーをはてなブックマークに追加 80 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita root権限 import root Webサーバ

port 80を開くためにはroot権限が必要だが、開いたあとはセキュリティーリスクを最小限にするために一般ユーザ権限に降格したい、というWebサーバをGoで書く例です。 rootで起動した状態で":80"をlistenして syscall.Setuid() で一般ユーザになり http.Serve()する package main import ( "net" "net/http" "sysca... 続きを読む

Big Sky :: golang の sync パッケージの使い方

2014/06/25 このエントリーをはてなブックマークに追加 147 users Instapaper Pocket Tweet Facebook Share Evernote Clip sync golang imp Big Sky 排他制御

golang と言えば非同期に特化した言語ですが、慣れない内は簡単な非同期しか使えません。しかし sync パッケージを知る事でもっとカジュアルに、かつ確実な非同期処理を行う事が出来る様になります。 今日はそんな sync パッケージについて説明してみたいと思います。 sync.Mutex ご存じ sync.Mutex です。皆さんが一番使う排他制御だと思います。 package main imp... 続きを読む

Big Sky :: Golang の channel の使い所

2013/11/12 このエントリーをはてなブックマークに追加 104 users Instapaper Pocket Tweet Facebook Share Evernote Clip channel fmt task goroutine Make

golang の特徴と言えば goroutine と channel ですが、その使いどころに悩む人もおられる様です。 goroutine は非同期に実行される処理、channel はその groutine と通信する為の仕組みと考えると分かりやすいです。 package main import ( "fmt" "time" ) func main() { task := make(chan st... 続きを読む

 
(1 - 7 / 7件)