自定义包的目录结构、go install 和 go test
Last updated
package uc
import "strings"
func UpperCase(str string) string {
return strings.ToUpper(str)
}package uc
import "testing"
type ucTest struct {
in, out string
}
var ucTests = []ucTest {
ucTest{"abc", "ABC"},
ucTest{"cvo-az", "CVO-AZ"},
ucTest{"Antwerp", "ANTWERP"},
}
func TestUC(t *testing.T) {
for _, ut := range ucTests {
uc := UpperCase(ut.in)
if uc != ut.out {
t.Errorf("UpperCase(%s) = %s, must be %s", ut.in, uc,
ut.out)
}
}
}include $(GOROOT)/src/Make.inc
TARG=uc
GOFILES=\
uc.go\
include $(GOROOT)/src/Make.pkgpackage main
import (
"./uc/uc"
"fmt"
)
func main() {
str1 := "USING package uc!"
fmt.Println(uc.UpperCase(str1))
}include $(GOROOT)/src/Make.inc
TARG=ucmain
GOFILES=\
ucmain.go\
include $(GOROOT)/src/Make.cmdgo install /home/user/goprograms/src/uc # 编译安装uc
cd /home/user/goprograms/uc
go install ./uc # 编译安装uc(和之前的指令一样)
cd ..
go install . # 编译安装ucmainprog1.go
prog1_linux.go
prog1_darwin.go
prog1_windows.go