zoukankan      html  css  js  c++  java
  • Golang笔记之变量

    哈哈

    package main
    
    // 关键字var 声明变量 类型信息放在变量名后
    //声明一个int型变量
    var v1 int
    
    //声明一个string类型
    var v2 string
    
    //声明多个变量
    var v3, v4 bool
    
    //[0 0 0 0 0 0 0 0 0 0] 数组
    var v5 [10]int
    
    //数组切片
    var v6 []int
    
    //声明结构体
    var v7 struct {
        f int
    }
    
    // 声明指针
    var v8 *int
    
    //声明map key为string类型,value是int类型
    var v9 map[string]int
    
    // 匿名函数和闭包
    var v10 func(a int) int
    
    //多个需要声明的变量放在一起
    var (
        name int
        age  string
    )
    声明变量
    package main
    
    import "fmt"
    
    func main() {
        //声明变量的初始化,var 可以省略写法
        var v1 int = 10
        //编译器可以自动算出v2的类型
        var v2 = 10
        //编译器自动算出v3的类型
        //同时进行变量声明和初始化
        v3 := 10
        fmt.Println(v1, v2, v3)
    }
    
    //  出现在:= 左侧的变量 只能声明一次,不可重复
    变量初始化
    package main
    
    import "fmt"
    
    //声明之后再赋值
    func main() {
        var i int
        i = 100
        var j int
        j = 50
        //Go语言的多重赋值,如下代码交换i和j的变量
        //go的多重赋值特性可以很明显的优化代码,相比c/c++
        i, j = j, i
        fmt.Println(i, j)
    }
    变量赋值
    package main
    
    import "fmt"
    
    //使用强类型语言编程时,调用函数时为了获取一个值,却因为函数返回多个值,又得定义一堆变量
    //可以使用多重返回和匿名变量来避免这些问题
    func GetName() (firstname, lastname, nickname string) {
        return "yu", "yuchao", "chaoge"
    }
    
    //只想获得nickname,函数调用语句可以写
    func main() {
        //优化代码的清晰度
        _, _, nickname := GetName()
        fmt.Println(nickname)
    
    }
    匿名变量
    package main
    
    //声明go代码所属的包,包是go例最基本的分发单位,要生成可执行程序,必须名为main,且下面有个main()函数,作为执行起点
    
    //导入本程序所以来的包,下列用到Println()函数,所以导入fmt
    import "fmt"
    
    //不得在源代码中写入未使用的包,否则编译器会出错
    //软件工程的设计哲学,强制左花括号 { 的放置位置
    //函数名的大小写规则
    func Compute(value1 int, value2 float64) (resule float64, err error) {
        //函数体
    
        fmt.Println(value1, value2)
        return
    }
    
    //main函数不能带参数,也不能定义返回值,命令行传入的参数存在os.Args变量中
    func main() {
        Compute(1, 3)
    }
    代码解读
    package main
    
    //常量是编译期间就已知,而且不可改变,可以是数值类型(整型、浮点型、复数)、布尔类型、字符串
    const Pi float64 = 3.14159265358979323846
    
    //无类型浮点常量
    const Zero = 0.0
    
    const (
        //无类型常量
        size int64 = 1024
        eof        = -1
    )
    
    //常量多重赋值 u=0.0  v=3.0
    const u, v float32 = 0, 3
    //无类型整型,字符串常量
    const a, b, c = 3, 4, "foo"
    常量
  • 相关阅读:
    结构体后面不加 ; 的后果。
    swap的两种错误写法
    rewind和fseek作用分析
    16个get函数的用法。
    枚举的简单使用。
    小知识点
    网线头的做法
    内存和寄存器
    linux下service mongod start启动报错
    appium上下文切换、webview调试以及chromedriver/键盘等报错问题解决
  • 原文地址:https://www.cnblogs.com/pyyu/p/8033723.html
Copyright © 2011-2022 走看看