结构体的写法与初始化
1 | type Student struct { |
注意:结构体的成员不需要使用
var
关键字来声明;字符类型的sex将会打印对应ASCII码,如果你需要声明为汉子,则需要使用rune
类型,代表一个 UTF-8 字符
1 | func main() { |
1 | type Student struct { |
注意:结构体的成员不需要使用
var
关键字来声明;字符类型的sex将会打印对应ASCII码,如果你需要声明为汉子,则需要使用rune
类型,代表一个 UTF-8 字符
1 | func main() { |
生成随机数我们需要设置一个随机数的seed(种子),不过要注意的是,相同的seed每次生成的随机数是同一组的
为了保证随机数能够更加随机且无规律,我们可以使用当前时间作为随机数的seed
具体看代码:
1 | func main() { |
声明一个指针类型的变量,我们会这么做:
1 | func main() { |
输出
1 | <nil> |
由此可见,a
确实是一个int类型的指针
,但是并没有为其分配内存空间,所以在我们试图打印其内存地址的时候,输出结果是<nil>
如果我们需要修改该指针指向的值,就不得不为其先分配一个内存地址,我们知道:当变量被声明的时候,会创建内存并分配地址,所以方法一如下:
1 | func main() { |
输出:
1 | 0xc000090000 |
但是显然这样做太麻烦了:我们需要创建一个中间变量b
才能完成给指针类型分配内存地址的工作,这时候,就需要使用new
函数了
init函数将会在程序运行的一开始执行,如果导入了其他的依赖包,依赖包的init函数也会自动执行,即使没有使用依赖包内的任何函数
由于go语言导入的包不使用就会报错,因此需要在包名前加上_
,代表引入此包仅为了执行其init
函数,而无需调用其他方法
Go语言的指针还是比较简单的,我们首先先了解基本的使用:
取址运算符:&
取出变量的内存地址:
1 | func main() { |
指针类型:*int
定义一个指针类型并接受一个内存地址作为该变量的值:
1 | func main() { |