Fix "should not use basic type string as key in context.WithValue" golint
<p>I am passing an uuid in using the <code>Context</code> and <code>WithValue</code> to subsequent functions that handle this <code>*http.request</code>. This uuid is was passed in the authorization header to a REST call to identify a person. The authorization token is verified and needs to accessible to check if the call is itself is authorized.</p>

<p>I used:</p>

<pre><code>ctx := context.WithValue(r.Context(), string("principal_id"), *id)
</code></pre>

<p>But golint complains: </p>

<pre><code>should not use basic type string as key in context.WithValue
</code></pre>

<p>What is the best option that could be used to retrieve this key that is not a basic type like a simple string? </p>