从java转go,目前觉得难以理解的还是结构体,还有&*取址等符号的用法。希望大佬们能给我一些启发~ ^ ^
负责任地说go很好玩...
我也是从java转到go,
准确地说是2个现在都用, 不是彻底转战那种,
go这个东西确实好用,越用越顺手,
只是不要尝试用java去比较它, 会很失望的.
go有go的玩法, 不要习惯性的用OOP的思维去使用它.
go到处都是指针, 而且很多地方也要求参数必须是指针, 习惯了就好了.
和C C++的指针比起来, go的指针要简单和安全许多.
#7
更多评论
学习和使用go不需要C语言掌握的很好.
你只要能区分引用和实体就行了.
结构体的话就理解成一个java bean
只不过没有java的OOP概念.
话说java不是挺好的么,为啥要转go,
原来用java很容易搞定的东西现在你会觉得处处不顺手的.
#1
我理解 struct 是具有封装性,具有对象的作用。想自定义一个类型,用struct,模型实体都是用struct定义。
对 * 和 & 理解举个例子:
type Dog struct {
}
*Dog 代表 Dog 类型的指针类型。Dog 是 *Dog 的基本类型。*Dog 的值表示指向它的基本类型 Dog 的值的指针。
使用取址操作符 &,&Dog{} 获取本类型值 Dog{} 的指针值。使用取值操作符 *, *d 获取指针 d 指向的基本类型值。
可以参看:https://github.com/stayfoo/stayfoo-hub/blob/master/docs/golang/7、go中的指针.md
#2