我有以下代码,需要cmd
包
PATH_SEP = string(os.PathSeparator)
我的项目结构如下
go/src/my proj
-cmd
--runners
--otherpackage
-- package2
-- constants
--….
在常量我把代码
PATH_SEP = string(os.PathSeparator)
const2 etc
并且在runners和package2 / 3等中我使用此常量。
可以吗?否则我需要复制其他包的代码。
答案 0 :(得分:1)
你可以按照你的描述使用常量,它没有任何问题。但它不那么直观。
我如何做到这一点是有一个根包go/src/my proj
-cmd
-constants
--runners
--otherpackage
--package2
--….
,这些可以在项目的任何地方使用。
UPDATE AcccountsTable
SET ConsecutiveDays =
CASE WHEN CAST(LogDate as Date) = CAST(DATEADD(DAY, -1, GETDATE()) As Date)
AND ConsecutiveDays < 28 THEN
ConsecutiveDays + 1
WHEN CAST(LogDate as Date) = CAST(GETDATE() as Date) THEN
ConsecutiveDays
ELSE
1
END,
ChallengesCompleted =
CASE WHEN ConsecutiveDays = 28
AND CAST(LogDate as Date) = CAST(DATEADD(DAY, -1, GETDATE()) As Date)
THEN
ChallengesCompleted + 1
ELSE
ChallengesCompleted
END,
LogDate = GETDATE()
WHERE AccID = @identity
答案 1 :(得分:0)
我建议使用常量字段声明struct,并在要使用常量的任何包中导入该结构。
package cmd
type Constants struct{
const1 int
const2 int
}
最好有一个单独的常量文件。创建一个名为global.go的文件,其中包含要在不同包中使用的所有常量结构,以便您的代码更清晰。
注意:我们要求在多个文件中共享常量,因此最好导入包含常量的包。而不是打包包含方法和其他细节,即使我们不需要它们。