An open API service indexing awesome lists of open source software.

https://github.com/interma/go-skeleton

a go project skeleton
https://github.com/interma/go-skeleton

example golang skeleton

Last synced: 7 days ago
JSON representation

a go project skeleton

Awesome Lists containing this project

README

          

# go-skeleton
a go project skeleton

## directory
under GOPATH/src/:
/Users/hma/go/src/github.com/interma/go-skeleton

ln to your workspace for convenience
```
cd /Users/hma/workspace/
ln -s ~/go/src/github.com/interma/go-skeleton
```

## build, run-test, and execution
```
$ make depend
...

$ make lint
gometalinter -s vendor ./...
main.go:18:1:warning: run_webserver is unused (deadcode)
...

$ make unit
gofmt -w -s main.go pkg
goimports -w main.go pkg
ginkgo -r -cover -coverprofile=coverage.out pkg/add
=== RUN TestAdd
--- PASS: TestAdd (0.00s)
add_test.go:6: in TestAdd
PASS
coverage: 100.0% of statements

Ginkgo ran 1 suite in 269.124388ms
Test Suite Passed

$ make coverage
gofmt -w -s main.go pkg
goimports -w main.go pkg
ginkgo -r -cover -coverprofile=coverage.out pkg/add
=== RUN TestAdd
--- PASS: TestAdd (0.00s)
add_test.go:6: in TestAdd
PASS
coverage: 100.0% of statements

Ginkgo ran 1 suite in 257.989526ms
Test Suite Passed
go tool cover -func=pkg/add/coverage.out
github.com/interma/go-skeleton/pkg/add/add.go:3: Add 100.0%
total: (statements) 100.0%

$ make build_mac
gofmt -w -s main.go pkg
goimports -w main.go pkg
env GOOS=darwin GOARCH=amd64 go build -tags 'main' -o main_mac -ldflags ""

$ ./main_mac
0.1
3

$ make clean
rm -f main_mac main_linux /Users/hma/go/bin/main pkg/add/coverage.out

```