回答

收藏

字符串的零是什么?

技术问答 技术问答 315 人阅读 | 0 人回复 | 2023-09-12

    func NewKey(c appengine.Context,kind,stringID string,intID int64,parent *Key) *Key  b3 {, Q. K# _' R0 Q. A! V
文档说:
% N9 R$ q& A1 n9 H1 N0 l9 XNewKey 创建新密钥。类型不能空。stringID 和 intID 之一或两者必须为零。若两者均为零,则返回的密钥不完整。parent  必须是完整的键或 nil。
* t! k5 {6 y) t2 W' G
字符串的零是什么?6 g" C1 D* d; K  ?# u/ j
我试过0and nil,我犯了以下错误:9 U) Z/ F- U1 z* l3 A6 x
    cannot use nil as type string in function argument
    # ?) E! x- W1 }  l7 ]% |) ?& S. }
               
% B9 }7 z; }, T' ~6 i    解决方案:                                                                1 N; y, l- j7 F  S$ ~5 I( o
                                                                那是"":
+ K8 T' i! [5 x2 |% x
    var s stringfmt.Println(s=="") // prints "true"
    0 r8 `" g, D* e
字符串不能为零(但是*string可以)。
0 z; F# D1 \: c) P- H: l! i你可以简单地测试一下
- Y3 w% {; b, P/ `/ M9 _7 [
    if stringId=="" {
    1 Y; q' ^! U" {! u, m
中传递零字符串stringID,请使用
" \* @- X5 h0 a
    k := NewKey(c,"kind","",0,p)
    ( ]5 b2 L% ~, b' I: O" G8 ~8 R
从规范:6 e0 Z- u  n$ X2 K. v
通过声明或调用 make 或 new 当内存被分配到存储值中,并且没有提供显式初始化时,被默认初始化。该值的每个元素都设置为其类型的零值:布尔值为 false,整数为 0,浮点为 0.0,字符串”“, nil。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则