zoukankan      html  css  js  c++  java
  • golang代码解读

    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)
    }
    

     4)  关于切片的代码解读

    package main
    import "fmt"
    
    func printSlice(s string, x []int) {
       
    	fmt.Printf("%s len=%d cap=%d %v
    ",
    		s, len(x), cap(x), x)
    }
    
    func main() {
        numbers := []int{0,1,2,3} 
      printSlice("numbers 长度 容量 初始值:",numbers)
        
    	a := make([]int, 5)
    	a[0] = 1232
    	printSlice("a 长度 容量 初始值:", a)
    	
    	b := make([]int, 0, 5)
    //	b[0] = 123 // 长度为0,无法赋值
    	printSlice("b 长度 容量 初始值:", b)
    	
    	c := b[:2]
        c[0] = 333
      //  c[2] = 2
    	printSlice("c 长度 容量 初始值:", c)
    	
    	d := c[2:5]
    	d[0] = 3434
    	printSlice("d 长度 容量 初始值:", d)
    
    }
    

     结果:

  • 相关阅读:
    使用SignTool对软件安装包进行数字签名(二)--进行数字签名
    使用SignTool对软件安装包进行数字签名(一)--制作证书
    三角形相关算法--求解三角形顶点坐标
    子网掩码与子网个数、主机地址个数的关系
    pgsql中的lateral使用小结
    Git中rebase失败了如何进行恢复
    灰度发布
    go 中的WaitGroup
    pgsql中json格式数组查询结果变成了字符串
    Go中的unsafe
  • 原文地址:https://www.cnblogs.com/xhuangtao/p/10030628.html
Copyright © 2011-2022 走看看