草庐IT

magic-constants

全部标签

Objective-C 可空性 : Qualifying Constant Strings

我已经养成了一个很好的习惯,即为诸如NSNotification名称之类的东西声明和使用常量字符串。我这样声明它们:externNSString*constABCAwesomeThingHappenedNotification;随着Xcode6.3和Swift1.2的推出,我将回顾并审核使用新的nonnull、nullable和Swift互操作的Objective-C类null_unspecified限定符。将限定符添加到也具有外部可见静态字符串的header时,我收到以下警告:warning:pointerismissinganullabilitytypespecifier(__no

ios - swift : Enum constant with type and value

我知道,枚举常量在swift中应该是这样的enumCompassPoint{caseNorthcaseSouthcaseEastcaseWest}但是如何给第一个元素赋值,如下面的Objective-C代码enumShareButtonID:NSInteger{ShareButtonIDFB=100,ShareButtonIDTwitter,ShareButtonIDGoogleplus}ShareButtonID; 最佳答案 你需要给枚举一个类型然后设置值,在下面的例子中North设置为100,其余的将是101、102等,就像在C

C# "Constant Objects"用作默认参数

有没有办法创建常量对象(即不能编辑,编译时创建)?我只是在玩C#语言,注意到可选参数功能,并认为能够使用默认对象作为可选参数可能很巧妙。请考虑以下事项://thisclasshasdefaultsettingsprivateconstSettingsClassDefaultSettings=newSettingsClass();publicvoiddoSomething(SettingsClasssettings=DefaultSettings){}这显然不能编译,但它是我想做的事情的一个例子。是否可以像这样创建一个常量对象并将其用作可选参数的默认值?? 最

c# - 收到 'Expression being assigned must be constant' 时

有没有办法使用这样的东西:privateconstintMaxTextLength="Textiwanttouse".Length;我认为它比使用类似的东西更具可读性并且更不容易出错:privateconstintMaxTextLength=18;有什么方法可以让文本的长度成为常量变量的来源吗? 最佳答案 privatereadonlystaticintMaxTextLength="Textiwanttouse".Length; 关于c#-收到'Expressionbeingassign

c# - 有没有在解决方案的基础上#define CONSTANT?

是否有基于VisualStudio解决方案的#defineConstant?可以在csproject的基础上定义一个常量,也可以在cs文件中放入#defineconstant,但我想知道是否可以在vssln的基础上定义它? 最佳答案 您实际上可以对Ritch的方法使用通用项目设置的变体。本质上,您必须对解决方案中每个项目文件的末尾进行一次更改:..\..\然后您可以定义CommonSettings.targets以包含解决方案范围的设置。true基本上就是这样,除非您想覆盖或合并每个项目中已定义的项目设置。下面的链接详细讨论了如何执

c# - 可选参数 "must be a compile-time constant"

我有一个分为两个部分文件的类,如下所示:publicpartialclassPersonRepository:BaseRepository{publicstaticreadonlystringColumnID="ID";...和publicpartialclassPersonRepository:BaseRepository{publicListGetByCompany(intcompanyID,stringsortExpression=ColumnID){...但是编译器一直说sortExpression“必须是一个编译时常量”。对我来说,这似乎是一个完美的编译时常量,所以我不明白问

go - 无法启动进程 : invalid magic number in record at byte 0x0 Delve Golang

刚刚得到一个:couldnotlaunchprocess:invalidmagicnumberinrecordatbyte0x0在OSX上正常运行一段时间后运行时:dlvdebugmain.go重新安装了Delve,但仍然存在。它可以是什么? 最佳答案 问题是包的名称,我更改了它并成功了。Delve应该为这种情况提供更好的错误消息。以前我有一个自定义的包名。将其更改为main之后,delve又开始工作了。 关于go-无法启动进程:invalidmagicnumberinrecordatb

go - 如何去 :generate stringer constants from multiple packages?

我有一个这样的结构:.foo/bar/constants.go.foo/constants.go.main.go在main.go中声明类型:packageagepacktypeEventTypeuint//go:generatestringer-typeEventTypeconst(FirstTypeEventTypeiotaSecondType....)在每个constants.go中我都有这样的东西:packagefooconst(OneMoreTypeagepack.EventType=100+iota)如何使用所有包的值生成stringer? 最佳答

戈朗 : declare a single constant

在Go中声明单个常量的首选方法是什么?1)constmyConst2)const(myConst)gofmt接受这两种方式。stdlib中均有这两种方式,但1)用得更多。 最佳答案 第二种形式主要是对几个常量声明进行分组。如果你只有一个常量,第一种形式就足够了。例如archive/tar/reader.go:constmaxNanoSecondIntSize=9但是在archive/zip/struct.go://Compressionmethods.const(Storeuint16=0Deflateuint16=8)这并不意味着

正则表达式 "is not a constant"编译错误

我正在尝试在Go中编写一个正则表达式来验证一个字符串是否只包含字母数字、句点和下划线。但是,我遇到了一个我以前从未见过的错误,并且在谷歌搜索中没有成功。这是正则表达式:pattern=regexp.MustCompile(`^[A-Za-z0-9_\.]+`)这里是错误:constinitializerregexp.MustCompile("^[A-Za-z0-9_\\.]+")isnotaconstant“不是常量”是什么意思,我该如何解决? 最佳答案 当您尝试分配给类型不能为常量的常量(例如Regexp)时,就会发生这种情况。只