gpt4 book ai didi

Golang 将变量声明为 NULL

转载 作者:IT王子 更新时间:2023-10-29 01:16:38 25 4
gpt4 key购买 nike

按照下面的示例,我需要根据需要获取电子邮件、名字和出生日期等作为 NullStrings 和 NullTimes,因为我的用户结构正在使用它们。如何将变量声明为 NULL

package entities

import (
"database/sql"
"github.com/go-sql-driver/mysql"
"testing"
"time"
)

var (
email = sql.NullString("mail@gmail.com") << Does not work
hashedPassword = "password"
firstName = "Lee"
lastName = "Brooks"
dateOfBirth = time.Now
height = 1.85
weight = 101.3
)

func privacyConcernedUser() *User {
return &User{
Email: email, << These all complain eg: cannot use Email (type string) as type sql.NullString in field value
HashedPassword: hashedPassword,
FirstName: firstName,
LastName: lastName,
}
}

最佳答案

sql.NullString 不是 string 类型的替代品,您必须使用它。

package main

import "database/sql"
import "fmt"

type User struct {
Name string
}

func main() {
var nsName sql.NullString
if err := nsName.Scan("User's Name"); err != nil {
panic(err)
}
user := &User{Name: nsName.String}
fmt.Println(user)
}

您可以使用 nsName.Valid 检查 NullString 是否有效。

http://golang.org/pkg/database/sql/#NullString

关于Golang 将变量声明为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21176459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com