質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Q&A

解決済

1回答

3821閲覧

【Golang】別パッケージの関数を呼びたい

nakapon9517

総合スコア3

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

0グッド

0クリップ

投稿2020/05/03 08:43

編集2020/05/05 13:00

Goで他パッケージの関数を呼びたい

Go言語学習中にて、他パッケージの関数をメインクラスにて呼びたいが
以下エラーが発生して困っています。。

ご存じの方いらっしゃいましたら
ご教示願います。

エラーメッセージ

cmd

1$ go run main 2>build _/mnt/c/work/10_dev/go/funcproject/cmd/calc: cannot find module for 3>path _/mnt/c/work/10_dev/go/funcproject/cmd/calc

参考情報

cmd

1$ go list -m all 2>funcproject 3 4$ go env 5>GO111MODULE="on" 6>GOARCH="amd64" 7>GOBIN="" 8>GOCACHE="/root/.cache/go-build" 9>GOENV="/root/.config/go/env" 10>GOEXE="" 11>GOFLAGS="" 12>GOHOSTARCH="amd64" 13>GOHOSTOS="linux" 14>GONOPROXY="" 15>GONOSUMDB="" 16>GOOS="linux" 17>GOPATH="/root/go" 18>GOPRIVATE="" 19>GOPROXY="https://proxy.golang.org,direct" 20>GOROOT="/usr/lib/go-1.13" 21>GOSUMDB="sum.golang.org" 22>GOTMPDIR="" 23>GOTOOLDIR="/usr/lib/go-1.13/pkg/tool/linux_amd64" 24>GCCGO="gccgo" 25>AR="ar" 26>CC="gcc" 27>CXX="g++" 28>CGO_ENABLED="1" 29>GOMOD="/mnt/c/work/10_dev/go/funcproject/go.mod" 30>CGO_CFLAGS="-g -O2" 31>CGO_CPPFLAGS="" 32>CGO_CXXFLAGS="-g -O2" 33>CGO_FFLAGS="-g -O2" 34>CGO_LDFLAGS="-g -O2" 35>PKG_CONFIG="pkg-config" 36>GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build735460902=/tmp/go-build -gno-record-gcc-switches"

該当のソースコード

main.go

go

1package main 2 3import ( 4 "fmt" 5 "./calc" 6) 7 8func main() { 9 fmt.Println(calc.Sum(1, 2)) 10} 11

calc.go

go

1package calc 2 3// Sum return sum 4func Sum(i, j int) int { 5 return i + j 6}

go.mod

go

1module funcproject 2 3go 1.13 4 5replace local.packages/calc => ./calc

補足情報(FW/ツールのバージョンなど)

OS:Windows10
ターミナル:Windows Subsystem for Linux -> zsh
Go:go version go1.13.8 linux/amd64

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

go.modのreplaceは不要です。以下のような感じで呼び出せます。

  • ディレクトリ構造
. ├── calc │   └── calc.go ├── go.mod └── main.go
  • go.mod
module funcproject go 1.13
  • main.go
package main import ( "fmt" "funcproject/calc" ) func main() { fmt.Println(calc.Sum(1, 2)) }
  • calc.go
package calc // Sum return sum func Sum(i, j int) int { return i + j }

投稿2020/05/03 09:02

編集2020/05/03 09:04
d_tutuz

総合スコア730

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nakapon9517

2020/05/03 10:21

解決いたしました。 ご回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問