我正在學習使用PHP是我的最佳選擇(我的池是一個小孩池:HTML,CSS,PHP,JavaScript,SQL)。我從來沒有真正進入像C,C++這樣的大恐慌,我認爲Go會是一個公平的開始。PHP去。我應該如何構建我的項目?
比方說,我有以下結構:
|App
|server.go
----|Controllers
-------|main.go
在PHP中包括一個文件,意味着你有機會獲得的東西父文件,並已經包括了所有以前的文件(取決於兩件事情,但大部分)。
在走,如果我有這樣的server.go
package main
import (
"REST/Controllers"
"fmt"
)
type test struct {
Number int
}
var TestVar = test{}
func main() {
controllers.Log()
}
是否有可能訪問的testvar在我的控制器/ main.go?我試過,但我似乎無法找到如何。下面的代碼拋出一個不確定的VAR誤差:
main.go
package controllers
import (
"fmt"
)
func Log() {
fmt.Printf("%q", TestVar)
}
我唯一的其他想法是它向下傳遞通過一個功能,但是如果我想真正改變的testvar的值是什麼?我對這個語言並沒有太多的瞭解,所以我不太瞭解指針和所有這些。如果我有10個變量,每次都不會將10個變量傳遞給一個函數變得太麻煩了?
記得我來自PHP,所以幾乎所有的髒東西都是爲我塗糖衣。
感謝您的幫助。
你不能這樣做,否則你將在這兩個軟件包之間產生循環依賴。您應該在開始使用前閱讀GO文檔:https://golang.org/doc/effective_go.html(您也可以按照瀏覽https://tour.golang.org/welcome/1) – Alessio
不要嘗試Go中過度工程的代碼組織。您在網上遇到的許多項目都有一個非常扁平的結構。我建議你在一個包中開始工作(主要),並最終將代碼移動到其他包,如果它代表獨立的功能。 – SirDarius
啊好的。這對我來說是一個巨大的變化。在PHP中,您通常希望將所有內容分割成不同的文件和文件夾。這將是一個艱難的改變(將(幾乎)所有內容放在同一個文件夾中)。 – Irv