Nevermind, found a dirty solution besides have to restructure my entire 
code-base to implement sql.NullString

I was having trouble when populating contacts (which is []contact) with the 
individual query returns.

I went from...
contacts = append(contacts, contact)

To using...
nullString := ""

// - convert any fields with pointers to nil to pointers to a null string ¬
if contact.Email == nil {
 contact.Email = &nullString
}
if contact.Phone == nil {
 contact.Phone = &nullString
}
if contact.Ext == nil {
 contact.Ext = &nullString
}

contacts = append(contacts, contact)

If anybody knows of a less-dirty way to handle this, or make that code 
cleaner... please let me know.  I don't like the way it's being handled 
now, but at least it's working now.  Thank you!

On Tuesday, August 22, 2017 at 5:48:09 PM UTC-5, Eric Brown wrote:
>
> Let's say I have a struct...
>
> type Contact struct {
>  Id        int     `json:"id"`
>  FirstName *string `json:"firstname"`
>  LastName  *string `json:"lastname"`
>  Email     *string `json:"email"`
>  Phone     *string `json:"phone"`
>  Ext       *string `json:"ext"`
> }
>
> I define contact...
> var contact Contact
>
> I put a query from the db such as and populate contact if no errors were 
> returned...
> err := q.Scan(&contact.Id, &contact.FirstName, &contact.LastName, &contact
> .Email, &contact.Phone, &contact.Ext)
>
> Problem is... later I use this contact for something else in my code, and 
> get a nil object exception for contact.Ext because it was nil in the db and 
> doesn't actually contain anything... not even a "".
>
> How do I check this field for nil before processing it so I can handle it?
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to