Skip to content
This repository has been archived by the owner on Mar 18, 2022. It is now read-only.
/ goconst Public archive
forked from jgautheron/goconst

Find in Go repeated strings that could be replaced by a constant

License

Notifications You must be signed in to change notification settings

golangci/goconst

This branch is 2 commits ahead of, 17 commits behind jgautheron/goconst:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

041c5f2 · Jun 10, 2018

History

18 Commits
Jul 3, 2017
Dec 25, 2015
May 14, 2016
Jun 10, 2018
May 14, 2016

Repository files navigation

goconst

Find repeated strings that could be replaced by a constant.

Motivation

There are obvious benefits to using constants instead of repeating strings, mostly to ease maintenance. Cannot argue against changing a single constant versus many strings.

While this could be considered a beginner mistake, across time, multiple packages and large codebases, some repetition could have slipped in.

Get Started

$ go get github.com/jgautheron/goconst/cmd/goconst
$ goconst ./...

Usage

Usage:

  goconst ARGS <directory>

Flags:

  -ignore            exclude files matching the given regular expression
  -ignore-tests      exclude tests from the search (default: true)
  -min-occurrences   report from how many occurrences (default: 2)
  -min-length        only report strings with the minimum given length (default: 3)
  -match-constant    look for existing constants matching the values
  -numbers           search also for duplicated numbers
  -min          	   minimum value, only works with -numbers
  -max          	   maximum value, only works with -numbers
  -output            output formatting (text or json)

Examples:

  goconst ./...
  goconst -ignore "yacc|\.pb\." $GOPATH/src/github.com/cockroachdb/cockroach/...
  goconst -min-occurrences 3 -output json $GOPATH/src/github.com/cockroachdb/cockroach
  goconst -numbers -min 60 -max 512 .

Other static analysis tools

  • gogetimports: Get a JSON-formatted list of imports.
  • usedexports: Find exported variables that could be unexported.

License

MIT

About

Find in Go repeated strings that could be replaced by a constant

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%