草庐IT

golang-book

全部标签

go - 访问 Golang Web 服务器

我知道Golang包含原生的内置网络服务器(net/http),可以在不使用外部网络服务器(apache、nginx等)的情况下用作服务器。对于本地开发,您只需运行http.ListenAndServe即可在本地准备好您的服务器。我的问题是,如何设置您的golang应用程序以供其他人公开访问而无需外部网络服务器? 最佳答案 在您的golang代码中,除了指定您的应用监听的端口外,您无需执行任何其他操作。设置端口后(例如:8080),您需要执行以下操作以使其可访问:如果您希望您的应用可在内部访问(LAN/WLAN),请检查您的私有(p

go - 尝试将数据解码到 golang 中的界面

尝试将数据解码到接口(interface)中。它工作正常。但是如果我访问res.page或res.Page不工作我收到以下错误:res.Pageundefined(typeinterface{}isinterfacewithnomethods)下面是我的代码:packagemainimport("encoding/json""fmt")funcmain(){varresinterface{}str:=`{"page":1,"fruits":["apple","peach"]}`json.Unmarshal([]byte(str),&res)fmt.Println(res.Page)}提

go - golang channel 中的函数调用

我一直在尝试让一个函数在golangchannel“内部”被调用(想想pythonspool.apply_async,我可以在其中对大量函数进行排队并稍后同时运行它们)。但无济于事。我读过的所有内容都让我相信这应该是可能的,但现在我认为它不是,因为我看到我尝试的任何错误后都出现编译错误。代码如下(应该是自包含和可运行的)packagemainimport("fmt""math")typeNodeSettingsstruct{TimeoutintPanelIntfloat64PanelCCTfloat64SpotIntfloat64SpotCCTfloat64FadeTimeintPor

go - 如何覆盖 func (l *Logger) Println(v ...interface{}) 方法 golang?

golang中如何覆盖println方法?func(l*Logger)Println(v...interface{}) 最佳答案 Howtooverride...[a]methodgolang?完全没有。你根本无法做到这一点。Go不提供任何继承方式。不要尝试,你不会成功的。您必须使用其他解决方案来解决您的问题(您没有说明)。 关于go-如何覆盖func(l*Logger)Println(v...interface{})方法golang?,我们在StackOverflow上找到一个类似的问

go - 如何在golang中实现 "tar cvfz xxx.tar.gz "?

我想用golang解压tar-gz文件。err:=DecompressTarGz('xxx.tar.gz','/Users/foobarbuzz/') 最佳答案 使用compress/gzip结合archive/tar或使用os/exec如果您不想在Go中实现所有这些,可以直接调用tar和gzip。 关于go-如何在golang中实现"tarcvfzxxx.tar.gz"?,我们在StackOverflow上找到一个类似的问题: https://stackov

go - 如何检查Scanln是否在Golang中抛出错误

我是Go的新手。我一直在寻找答案,我知道确实有一个我还没有找到。为了更好地解释我的问题,这是我的代码:funcmain(){...inputs:=new(Inputs)fmt.Println("Inputtwonumbers:")fmt.Scanln(&inputs.A)fmt.Scanln(&inputs.B)fmt.Println("Sumis:",inputs.A+inputs.B)}这是我的结构:typeInputsstruct{A,Bint}如果我为输入A输入“123”,为输入B输入另一个“123”,我将得到“总和为:246”的输出。但是如果我错误地输入'123j',它将不再

http - 配置 http :localhost for Golang

这个问题在这里已经有了答案:RungowebapplicationonIIS(2个答案)关闭4年前。我想在Golang中实现一些教程,其中包括net/http库以及其他网络和路由库。此外,我使用本地主机通过IIS测试我的asp.net核心。我已经在我的机器上停止了我的IIS客户端,它仍然将我重定向到IIS主题的本地主机,而不是显示我的golangFprintf消息。我的本地主机上的页面、我当前的iis设置和golang代码可以在下面看到。任何帮助,将不胜感激。http:localhost上的页面我的IIS情况总结(手动停止)packagemainimport"fmt"import"ne

Golang 基准测试 : why does allocs/op show 0 B/op?

这是基准测试的代码片段://bench_test.gopackagemainimport("testing")funcBenchmarkHello(b*testing.B){fori:=0;i指标allocs/op显示0B/op。变量a是一个int类型,不会占用太多内存,但它不应该占用零B.>gotest-bench=.-benchmemgoos:darwingoarch:amd64pkg:aBenchmarkHello-420000000000.26ns/op0B/op0allocs/opPASSoka0.553s 最佳答案 Wh

go - Golang中如何处理字节运算符?

我想创建一个缓冲区,其中包含昵称和密码等信息。假设我创建了一个空缓冲区,即000000000000000000000000000000000000到那时我想用数据填充它,比如buffer,所以我得到的结果是08757365726e616d650870617373776f7264这是len.nicknameactual_nicknamelen.passwordpassword现在,在我创建了这样的缓冲区之后,我想将它解析为变量。那看起来像buffer>>nickname(string)>>password(string)我曾经在使用运算符的C++中做过一些东西,但我不确定如何在Golan

go - Stringers 接口(interface)是否仅适用于 golang 中的值接收器

这个问题在这里已经有了答案:puzzlingbehaviorforStringers?(2个答案)关闭4年前。全部:只是一个简单的问题:围棋教程中https://tour.golang.org/methods/18我尝试将String()方法实现为func(ip*IPAddr)String()string{returnfmt.Sprintf("%d.%d.%d.%d",ip[0],ip[1],ip[2],ip[3])}我使用了指针接收器,但当它在main()中不起作用时forn,a:=rangeaddrs{fmt.Printf("%v:%v\n",n,a)}仍然显示[127,0,0,1