Prefer any over interface{} Has Fix
Description
Go 1.18 introduced any as an alias for interface{}. The shorter name makes unconstrained values and type parameters easier to recognize.
Use this rule only when the project targets Go 1.18 or newer, and review code that declares its own identifier named any.
YAML
yaml
id: use-any
language: Go
rule:
pattern: interface{}
fix: anyExample
go
func Decode(v interface{}) error { return nil }Diff
go
func Decode(v interface{}) error { return nil }
func Decode(v any) error { return nil } Credits
Inspired by JetBrains' Go Modern Guidelines.