小编Sal*_*ali的帖子

正确处理Golang中的全局日志记录

Go中的应用程序日志记录模式是什么?如果我有5个goroutines我需要登录,我应该......

  • 创建一个log.Logger并传递它?
  • 传递指向那个log.Logger
  • 每个goroutine或函数应该创建一个记录器吗?
  • 我应该将记录器创建为全局变量吗?

logging go

106
推荐指数
4
解决办法
5万
查看次数

为什么我不能在Golang中用`copy()`复制一个切片?

我需要在Go中复制一个切片并阅读文档,我可以使用复制功能.

复制内置函数将元素从源切片复制到目标切片.(作为一种特殊情况,它还会将字符串中的字节复制到一个字节片段.)源和目标可能重叠.Copy返回复制的元素数,这将是len(src)和len(dst)的最小值.

但当我这样做时:

arr := []int{1, 2, 3}
tmp := []int{}
copy(tmp, arr)
fmt.Println(tmp)
fmt.Println(arr)
Run Code Online (Sandbox Code Playgroud)

tmp以前是空的(我甚至试图使用arr, tmp):

[]
[1 2 3]
Run Code Online (Sandbox Code Playgroud)

你可以去游乐场看看.那为什么我不能复制一片?

go slice

103
推荐指数
5
解决办法
8万
查看次数

PHP cURL与file_get_contents

访问REST API时,这两段代码有何不同?

$result = file_get_contents('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url');
Run Code Online (Sandbox Code Playgroud)

$ch = curl_init('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

从判断起,它们都产生相同的结果

print_r(json_decode($result))
Run Code Online (Sandbox Code Playgroud)

php curl file-get-contents

100
推荐指数
4
解决办法
10万
查看次数

安装与brew,并运行gotour

我正在关注http://tour.golang.org/,直到我进入第三步,告诉你可以在你的系统上安装gotour.之后我通过以下方式安装了go语言:

brew install hg
brew install go
Run Code Online (Sandbox Code Playgroud)

然后我通过以下方式下载了我们的

go get code.google.com/p/go-tour/gotour
Run Code Online (Sandbox Code Playgroud)

当我试图启动它时,它没有识别命令:

$ gotour
-bash: gotour: command not found
Run Code Online (Sandbox Code Playgroud)

$ go gotour
Run Code Online (Sandbox Code Playgroud)

$ ./gotour
Run Code Online (Sandbox Code Playgroud)

所以我试图看到go路径,它是空的,

echo $GOPATH
Run Code Online (Sandbox Code Playgroud)

所以我定义了GOPATH:

GOPATH=/usr/local/Cellar/go/1.0.2/src/pkg/code.google.com/p/
export GOPATH
Run Code Online (Sandbox Code Playgroud)

现在我可以通过跑步来运行

./gotour
Run Code Online (Sandbox Code Playgroud)

但是我对自己的环境没有安全感......我不是因为能够奔跑而活着的

go run gotour
Run Code Online (Sandbox Code Playgroud)

或者只是打字(就像在这个网站上描述的那样http://www.moncefbelyamani.com/how-to-install-the-go-tour-on-your-mac/):

gotour
Run Code Online (Sandbox Code Playgroud)

我想知道我是不是以正确的方式做事,因为我是go the programing语言的新手.

macos homebrew install go

99
推荐指数
6
解决办法
9万
查看次数

Git,查看我最近N次提交的评论列表

有没有办法在Git中查看我最近N次提交的评论和时间列表?

在查看SO之后,我发现的唯一相关内容是 Git - 获取他们创建的所有提交和blob,但它显示了所有用户的所有提交,并输出了许多其他信息.

git git-commit

98
推荐指数
4
解决办法
5万
查看次数

如何在Go中反转字符串?

我们如何在Go中反转一个简单的字符串?

string reverse go

92
推荐指数
13
解决办法
5万
查看次数

使用bloom过滤器有什么好处?

我正在阅读布隆过滤器,他们看起来很傻.使用bloom过滤器可以完成的任何事情,你可以在更少的空间内,更有效率地完成,使用单个散列函数而不是多个,或者它看起来像是什么.为什么要使用布隆过滤器?它有什么用?

algorithm bloom-filter data-structures

92
推荐指数
5
解决办法
4万
查看次数

Python中的模块化乘法逆函数

一些标准的Python模块是否包含一个函数来计算一个数字的模乘法逆,即一个y = invmod(x, p)这样的数字x*y == 1 (mod p)?谷歌似乎没有给出任何好的提示.

当然,人们可以提出自制的10线延伸欧几里德算法,但为什么要重新发明轮子.

例如,Java BigIntegermodInverse方法.Python没有类似的东西吗?

python algorithm

89
推荐指数
7
解决办法
10万
查看次数

如何使用Go中的测试包进行测试设置

我如何进行整体测试设置处理,为使用测试包时的所有测试设置阶段?

作为Nunit的一个例子,有一个[SetUp]属性.

[TestFixture]
public class SuccessTests
{
  [SetUp] public void Init()
  { /* Load test data */ }
}
Run Code Online (Sandbox Code Playgroud)

unit-testing go

82
推荐指数
7
解决办法
6万
查看次数

为什么我可以在javascript中更改常量的值

我知道ES6还没有标准化,但是很多浏览器目前都支持 const JS中的关键字.

在规范中,它写道:

常量的值不能通过重新赋值来改变,并且不能重新声明常量.因此,尽管可以在不初始化的情况下声明常量,但这样做是没用的.

当我做这样的事情时:

const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
Run Code Online (Sandbox Code Playgroud)

我看到一切正常xxx6yyy[].

但是,如果我这样做yyy.push(6); yyy.push(1);,我的常数阵列已被改变.现在它是[6, 1],顺便说一句,我仍然无法改变它yyy = 1;.

我这是一个错误,还是我错过了什么?我用最新的chrome和FF29试了一下

javascript const ecmascript-6

80
推荐指数
6
解决办法
4万
查看次数