doc: update golang.md (#282)
This commit is contained in:
parent
6614543e04
commit
358d8f4e17
@ -185,6 +185,7 @@ fmt.Println("2d: ", twoDimension)
|
|||||||
|
|
||||||
### 指针(Pointers)
|
### 指针(Pointers)
|
||||||
<!--rehype:wrap-class=col-span-2-->
|
<!--rehype:wrap-class=col-span-2-->
|
||||||
|
|
||||||
```go
|
```go
|
||||||
func main () {
|
func main () {
|
||||||
b := *getPointer()
|
b := *getPointer()
|
||||||
@ -199,21 +200,25 @@ func getPointer () (myPointer *int) {
|
|||||||
//不能直接进行操作,包括读写
|
//不能直接进行操作,包括读写
|
||||||
var p *int
|
var p *int
|
||||||
*p = 123 // panic nil pointer
|
*p = 123 // panic nil pointer
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
```go
|
||||||
//而用new返回的是有默认值的指针, 为数据类型的默认值
|
//而用new返回的是有默认值的指针, 为数据类型的默认值
|
||||||
func main(){
|
func main(){
|
||||||
//有一块内存存放了10,它的地址由系统自动分配,别名是a
|
//有一块内存存放了10,它的地址由系统自动分配,别名是a
|
||||||
a := 10
|
a := 10
|
||||||
//内存存放的10变成了20
|
//内存存放的10变成了20
|
||||||
a = 20
|
a = 20
|
||||||
var p *int
|
var p *int
|
||||||
p = &a //或者直接写 p := &a
|
p = &a //或者直接写 p := &a
|
||||||
//上面的p是一个指针,通过 *p 的方式同样可以访问 变量a指向 的内存
|
//上面的p是一个指针,通过 *p 的方式同样可以访问 变量a指向 的内存
|
||||||
|
|
||||||
/*当你动态申请内存的时候,指针的存在意义之一就被体现出来了*/
|
/*当你动态申请内存的时候,指针的存在意义之一就被体现出来了*/
|
||||||
ptr := new(int)
|
ptr := new(int)
|
||||||
//申请了一块内存空间,没有办法指定别名,new()返回内存地址,用指针接收
|
//申请了一块内存空间,没有办法指定别名,new()返回内存地址,用指针接收
|
||||||
//此时并没有变量能直接指向这块内存,所以只能通过内存地址来访问
|
//此时并没有变量能直接指向这块内存,所以只能通过内存地址来访问
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -243,15 +248,17 @@ const s string = "constant"
|
|||||||
const Phi = 1.618
|
const Phi = 1.618
|
||||||
const n = 500000000
|
const n = 500000000
|
||||||
const d = 3e20 / n
|
const d = 3e20 / n
|
||||||
|
```
|
||||||
|
|
||||||
常量声明可以使用 iota常量生成器 初始化,它用于
|
常量声明可以使用 iota常量生成器 初始化,它用于
|
||||||
生成一组以相似规则初始化的常量,但是不用每行都
|
生成一组以相似规则初始化的常量,但是不用每行都
|
||||||
写一遍初始化表达式。
|
写一遍初始化表达式。
|
||||||
注意:
|
注意:
|
||||||
1.在一个const声明语句中,在第一个声明的常量
|
|
||||||
所在的行,iota被置为0,然后在每一个有常量声明的行加一。
|
|
||||||
2.写在同一行的值是相同的
|
|
||||||
|
|
||||||
|
1. 在一个const声明语句中,在第一个声明的常量所在的行,iota被置为0,然后在每一个有常量声明的行加一。
|
||||||
|
2. 写在同一行的值是相同的
|
||||||
|
|
||||||
|
```go
|
||||||
const (
|
const (
|
||||||
a = iota
|
a = iota
|
||||||
b
|
b
|
||||||
|
Loading…
x
Reference in New Issue
Block a user