加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang代码解读

发布时间:2020-12-16 09:31:56 所属栏目:大数据 来源:网络整理
导读:? 1)for语句与循环运算 package mainimport "fmt"func main() {sum := 1for ; sum 1000 ; { // 去掉第一个分号: C 的 while 在 Go 中叫做 for。sum += sum // 4= 2+2 4以内输出4 , 8 = 4 + 4 8以内输出8 ;1024 = 512 + 512 }fmt.Println(sum)} 2)指针解

?

1)for语句与循环运算

package main
import "fmt"
func main() {
sum := 1
for ; sum <1000 ; {  // 去掉第一个分号: C 的 while 在 Go 中叫做 for。
sum += sum    //  4= 2+2  4以内输出4 , 8 = 4 + 4 8以内输出8 ;1024 = 512 + 512
 }
fmt.Println(sum)
}

  

2)指针解读

package main
import "fmt"
func main() {
	i,j := 42,2701

	p := &i         // 指向i的内存地址 & 操作符会生成一个指向其操作数的指针(内存地址)。
	fmt.Println(p) // 输出内存地址
        fmt.Println(*p) //  输出内存地址中的值。* 操作符表示指针指向的底层值。
	*p = 21         // 更新内存地址中的值,值更新后指向该地址的值也更新。
	fmt.Println(i)  //其值从更新21更新到42,但内存地址不变。

	p = &j         // point to j
	*p = *p / 37   // divide j through the pointer
	fmt.Println(j) // see the new value of j
}

  

3)结构体与指针

package main
import "fmt"
type Vertex struct {
	X int
	Y int
}

func main() {
	v := Vertex{1,2}
	p := &v  //指定p为结构体v的地址
	p.X = 1e3 // p.X实际是(*p).X,指的是v地址上x 的值
	fmt.Println(v)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读