Call has possible formatting directive
The warning is telling you you have a formatting directive (
%d in this case) in a call to
Println. This is a warning because
Println does not support formatting directives. These directives are supported by the formatted functions
Sprintf. This is explained thoroughly in the
fmt package documentation.
As you can plainly see when you run your code, the output is
Hello, playground %d 5
Println does what its docs say - it prints its arguments followed by a line break. Change that to
Printf, which is likely what you intended, and you get this instead:
Hello, playground 5
Which is presumably what you intended.
fmt.Println doesn't do formatting things like
%d. Instead, it uses the default format of its arguments, and adds spaces between them.
fmt.Println("Hello, playground",i) // Hello, playground 5
If you want printf style formatting, use
fmt.Printf("Hello, playground %d\n",i)
And you don't need to be particular about the type.
%v will generally figure it out.
fmt.Printf("Hello, playground %v\n",i)