Cannot convert (untyped string constant) to *string
10,475
You cannot get the address of a string constant/literal, but if you have a string
local variable (set to the value you want) you can then pass the address of that local:
Declare a string
local first and assign the constant string literal to it, then pass the address of that local as the parameter argument with the &
operator:
persistentvolumeclaim := &apiv1.PersistentVolumeClaim {
manualStr := "manual"
ObjectMeta: metav1.ObjectMeta {
Name: "mysql-pv-claim",
},
Spec: apiv1.PersistentVolumeClaimSpec {
StorageClassName: &manualStr,
},
}
Related videos on Youtube
Author by
manjeet
Updated on September 15, 2022Comments
-
manjeet over 1 year
persistentvolumeclaim := &apiv1.PersistentVolumeClaim{ ObjectMeta: metav1.ObjectMeta{ Name: "mysql-pv-claim", }, Spec: apiv1.PersistentVolumeClaimSpec{ StorageClassName: "manual", }, }
StorageClassName
parameter takes pointer to string, but compiler gives error when i'm passing string"manual"
into it. -
manjeet about 4 yearsnow showing error in this line :- manualStr := "manual"
-
Dai about 4 years@manjeet My mistake, it's been a while since I last used Go. I've updated my answer.
-
manjeet about 4 yearsNow it's showing :- undeclared name: utils. What package i have to import for this. it shows error when i import this package: "github.com/kubernetes/utils/pointer"
-
JimB about 4 yearsDon't import an entire package to get a one line function. You can write that function in your code if you need to do this more than a couple times.