在我的GOPATH中我有这样的事情:
/bin/
/pkg/
/src/
/src/my_prog/
/src/my_prog/main.go
/src/my_prog/d_interface.go
/src/my_prog/d_struct_that_implements_the_interface.go
Run Code Online (Sandbox Code Playgroud)
在main.go我package main,我d_interface.go和d_struct_that_implements_the_interface.go我package my_prog.
当我尝试时,go build my_prog我收到以下错误:
can't load package: package my_prog: found packages my_prog (d_interface.go) and main (main.go) in C:\dev\Code\Go\src\my_prog
Run Code Online (Sandbox Code Playgroud)
这是否意味着属于的任何文件都package main应该放在自己的文件夹中?如果是这样,原因是什么?
我定义了一些用作回调的函数,并不是所有函数都使用它们的所有参数.
如何标记未使用的参数,以便编译器不会向我发出警告?
很抱歉这个漫长而令人困惑的标题.
我有这样的类头文件
#pragma once
#include <thread>
#include <boost/asio.hpp>
#include <another3rdpartylib/doodads.h>
class A {
public:
A();
Method1();
Method2();
private:
std::thread thread;
boost::asio::socket socket;
another3dpartylib::doodad gizmo;
}
Run Code Online (Sandbox Code Playgroud)
现在,班级的用户不会也不应该关心私人部分.如何在不拖动的情况下允许用户包含该类<thread>,<boost/asio.hpp>并且<another3rdpartylib/doodads.h>?
从技术上讲,用户唯一应该关心的是sizeof(A).我错了吗?