41282


[golint](https://github.com/golang/lint) に `don't use leading k in Go names`
と怒られました。何故ですか？

動作例:

[code]

    $ cat leading_k.go 
    package main
    
    const kFoo = 1
    $ golint leading_k.go 
    leading_k.go:3:5: don't use leading k in Go names; var kFoo should be foo
    
[/code]

環境: Go 1.9.3


CC BY-SA 3.0
2018-01-29T05:47:39.883
41281
2018-01-29T14:44:15.843
19110
question
go
golint の "don't use leading k in Go names" とは？


このルールはもともと、ハンガリアン記法で定数を表すとき先頭に `k` をつけるというやり方を抑制するために用意されました。golint
に従うのであれば、ハンガリアン記法の `k` を使わず単に `foo` という名前にするなど、命名方法を見直しましょう。

ただ、ハンガリアン記法でなくてもたとえば `kB` という変数名はこのルールにひっかかってしまいます。二文字目が小文字だとこのルールにひっかからなくなるので
`kb` などに名前を変えることで回避できます。また、そもそも命名法に欠陥がある場合もあるので、見直す機会かもしれません。

### 関連

  * [Question: don't use leading k in Go names. Why?](https://github.com/golang/lint/issues/258) \-- golang/lint GitHub issues
  * [Where does the k prefix for constants come from?](https://stackoverflow.com/q/5016622/5989200) \-- Stack Overflow


CC BY-SA 3.0
2018-01-29T05:47:39.883
41282
2018-01-29T14:44:15.843
2018-01-29T14:44:15.843
19110
19110
41281
answer