В большинстве своем c пакеты Go должны находиться в своем собственном файловом каталоге. res
входит в ~/go/src/res/
.
// ~/go/src/res/res.go
package res
func Test(x int) (y int){
// Note that y is already declared.
y = x*2
return y
}
Тогда ваш main.go
может импортировать этот пакет.
package main
import(
"res"
"fmt"
);
func main(){
x := 5
a := res.Test(x)
fmt.Println(a)
}
См. Также
Вот еще немного отладки для вашей спецификации c ошибка.
Обратите внимание, что отправленный вами код res
не должен компилироваться. Вы должны получить сообщение об ошибке типа ./res.go:4:7: no new variables on left side of :=
.
res.Test used as value
означает, что res.Test
не возвращает значение, но вы все равно пытались использовать его как единое. Ваш res.Test
имеет возвращаемое значение.
Кроме того, ваш основной. go не импортирует res
. Вы должны были получить ошибку вроде undefined: res
, но вы этого не сделали.
Это означает, что есть еще один пакет res
, который где-то плавает с Test
функция без возвращаемого значения.