Go 标签

Go by Example: Methods

https://gobyexample.com/methods package main import "fmt" type rect struct { width, height int } func (r rect) area() int { return r.width * r.height } func (r rect) perim() int { return 2r.width + 2*r.height } func main() { r := rect{width: 10, height: 5} fmt.Println("area: ", r.area()) fmt.Println("perim:", r.perim()) rp := &r fmt.Println("area: ", rp.area()) fmt.Println("perim:", rp.perim()) } 实在不明白area和perim有什么区别(加没加星号) 既然没有private、public关键字,那就意味着,大写包外可用,小写包外不可用?

阅读全文 »

为Java程序员而准备的Go指南 置顶! 有更新!

为Java程序员而准备的Go指南 本文原作者为Stephen Nillson,由ZephyrJung翻译,原文链接如下: https://www.nada.kth.se/~snilsson/go_for_java_programmers/ 鉴于水平有限,未免有很多不合适之处甚至错误,欢迎各位批评指证,Github地址在这里,交流请到黑客派社区,更多精彩等你发现 本文从Java视角来理解Go,帮助Java程序员们迅速的掌握Go语言。 Hello Stack (example) 为了激发你的兴趣,我们将以一个麻雀虽小五脏俱全的典型案例开始,即Stack.java Go语言实现如下: // Package collection implements a generic stack. package collection // The zero value for Stack is an empty stack ready to use. type Stack struct { data []interface{} } // Push adds x to the top of the ....

阅读全文 »

Go by Example

本文收集了Go By Example的示例,并将注释写于代码之上,最后几节参考了其他人的翻译 Github 地址:原版 everyx中文翻译 Go by Example Hello World 我们第一个程序就是打印经典的“hello world”,下面是完整的代码 package main import "fmt" func main(){ fmt.Println("hello world") } 要运行这个程序,将代码保存为hello-world.go,然后使用go run 有时候我们想让程序编译成二进制文件,可以使用go build,然后就可以直接运行了。 Values Go有多种值的类型,包括string,integer,float,boolean等。如下是几个基本例子。 package main import "fmt" func main(){ //string可以使用+连接在一起 fmt.Println("go"+"lang") fmt.Println("1+1=",1+1) fmt.Pritnln("7.0/3.0=",7.0/3.0) fmt.Println(tr....

阅读全文 »