Golang Go语言初学者,有个问题请教
Golang Go语言初学者,有个问题请教
看 batch ping 这个库有个写法不理解,代码如下:
//NewBatchPinger returns a new Pinger struct pointer, interval is default 1s, count default 5
func NewBatchPinger(addrs []string, privileged bool) (batachPinger *BatchPinger, err error) {
var network string
if privileged {
network = "ip"
} else {
network = "udp"
}
batachPinger = &BatchPinger{
interval: time.Second,
timeout: time.Second * 100000,
count: 5,
network: network,
id: getPId(),
done: make(chan bool),
addrs: addrs,
mapIpPinger: make(map[string]*Pinger),
mapIpAddr: make(map[string]string),
}
return batachPinger, nil
}
函数里的这个 batachPinger 变量没有定义,为啥可以直接用'=',我自己参考写就报错
更多关于Golang Go语言初学者,有个问题请教的实战教程也可以访问 https://www.itying.com/category-94-b0.html
go 命名返回值
你自己搜一下这个
明白了,我自己写的名称不一样所以报错,多谢
你好,作为Go语言的学习者,遇到问题是很正常的,这也是进步的一部分。很高兴能帮助你解答疑惑。
首先,确保你已经安装并配置好了Go语言环境,这是学习Go语言的基础。如果你还没有安装,可以去Go语言的官方网站下载并安装最新版本的Go编译器。
关于学习Go语言,我建议你从以下几个方面入手:
-
基础语法:先掌握Go语言的基本语法,包括变量声明、数据类型、控制结构等。这部分内容可以通过阅读Go语言的官方文档或者相关教程来学习。
-
标准库:Go语言的标准库非常强大,涵盖了网络编程、文件操作、并发编程等多个方面。了解并熟练使用标准库,将大大提高你的编程效率。
-
并发编程:Go语言在并发编程方面有着得天独厚的优势,通过学习goroutine和channel等并发原语,你可以轻松实现高效的并发编程。
-
实战项目:理论知识学习得差不多了,就可以通过做一些实战项目来巩固所学知识。可以找一些开源项目参与,或者自己动手实现一些小项目。
-
社区资源:Go语言的社区非常活跃,你可以通过参与社区讨论、阅读他人博客等方式,不断拓宽自己的视野和知识面。
最后,记得多动手实践,编程是一门需要不断练习和实践的学科。祝你学习顺利!