我无法理解为什么这些会有所不同.
Prelude> :t ((<) 3)
((<) 3) :: (Num a, Ord a) => a -> Bool
Prelude> ((<) 3) 2
False
Prelude>
Prelude> :t (< 3)
(< 3) :: (Num a, Ord a) => a -> Bool
Prelude> (< 3) 2
True
Prelude>
Run Code Online (Sandbox Code Playgroud)
我怀疑有一个直截了当的答案,但我甚至不知道用什么词来描述第一和第二个案例之间的区别.我很乐意编辑我的问题,一旦有人告诉我这是什么情况,使用正确的命名法.
我有一个想法,我想对数据库/ sql go包进行一些小的添加.我想尝试我的更改,看看它是如何工作的.
我以为我能够执行此命令来获取我可以使用的数据库/ sql中的源代码副本:
go get github.com/golang/go/tree/master/src/database/sql
Run Code Online (Sandbox Code Playgroud)
然后,我要改变我的import语句
import "database/sql"
Run Code Online (Sandbox Code Playgroud)
至
import "github.com/golang/go/tree/master/src/database/sql"
Run Code Online (Sandbox Code Playgroud)
并将调试Printf放在我的本地代码副本中,以确认我刚刚执行的新代码正在执行而不是/ usr/local/go中的代码.
当我尝试上面的"go get"命令时,我收到以下错误消息:
$ go get github.com/golang/go/tree/master/src/database/sql
package github.com/golang/go/tree/master/src/database/sql: cannot find package "github.com/golang/go/tree/master/src/database/sql" in any of:
/usr/local/go/src/github.com/golang/go/tree/master/src/database/sql (from $GOROOT)
/Users/me/go/src/github.com/golang/go/tree/master/src/database/sql (from $GOPATH)
$ echo $GOPATH
/Users/me/go
$
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?
我也尝试过这个来源
https://go.googlesource.com/go/+/release-branch.go1.6/src/database/sql
Run Code Online (Sandbox Code Playgroud)
那也行不通.然后我尝试从上面的链接下载源代码的tgz,并在我自己的$ GOPATH/src/github.com/database/sql文件夹中解压缩这些文件,然后在那里构建它们.这产生了一个运行的sql.a,但没有用.