zoukankan      html  css  js  c++  java
  • 2. Go语言基本语法

    一、变量

    (一)变量的概念

    1. 变量时计算机语言中存储数据的抽象概念。变量的功能是存储数据。变量通过变量名访问;
    2. 变量的本质是计算机分配的一小块内存,专门用于存放指定 数据,在程序运行过程中该数据可以发生改变;
    3. 变量的存储往往具有瞬时性,当程序运行结束,存放该数据的内存就会释放,而该变量就会消失;
    4. Go语言的变量名由字母、数字、下划线组成,首个字符不能输数字;

    (二)声明变量

    Go主要有静态语言、函数多返回值、天生并发、内置GC(自动垃圾回收)、安全性高、语法简单、编译快速。
    - 静态语言:编译时变量的数据类型即可确定的语言,要求在使用变量之前必须声明数据类型
    
    1. 未初始化的标准格式
    var 变量名 变量类型
    
    1. 未初始化批量格式
    var(
    	a int
        b string
        c []float32
        d func() bool
        e struct{
            x int
            y string
        }
    )
    
    未初始化变量的默认值
    
    - 整型和浮点型变量默认值 0
    - 字符串默认值 ""
    - 布尔值默认值 false
    - 函数、指针变量默认值 null
    
    package main
    
    import "fmt"
    
    func main() {
    	var (
    		a int
    		b string
    		c float32
    		d bool
    		e func() string
    		f [3]int
    	)
    
    	fmt.Printf("%T %v 
    ", a, a)
    	fmt.Printf("%T %v 
    ", b, b)
    	fmt.Printf("%T %v 
    ", c, c)
    	fmt.Printf("%T %v 
    ", d, d)
    	fmt.Printf("%T %v 
    ", e, e)
    	fmt.Printf("%T %v 
    ", f, f)
    }
    
    
    结果:
    int 0 
    string  
    float32 0 
    bool false 
    func() string <nil> 
    [3]int [0 0 0] 
    
    
    1. 初始化变量的标准格式
    var 变量名 类型 = 表达式
    
    1. 初始化变量的编译器自动推断类型格式
    var 变量名 = 表达式
    
    1. 初始化变量的简短声明格式
    • 变量名 := 表达式
    • 使用 := 赋值操作符,:= 可以高效创建一个新的变量,称之为初始化声明
    • 声明语句省了 var 关键字
    • 变量类型将由编译器自动推断
    • 这是声明变量的首选形式,但它只能被用在函数体内,而不可以用于全局变量的声明与赋值
    • 该变量名必须是没有定义过的变量,若定义过,将发生编译错误
    • 在多个短变量声明和赋值中,至少有一个新声明的变量出现在左侧中,那么即便有其他变量名可能是重复声明的,编译器不会报错
    package main
    
    import "fmt"
    
    // 声明全局变量
    var n = 10
    
    func main() {
    	// 短变量初始化
    	m := 20
    	fmt.Printf("%T %v 
    ", m, m)
    	fmt.Printf("%T %v 
    ", n, n)
        
        // 为变量赋多个值
        a, b, c := "Hello", "World", 100
        fmt.Printf("%T %v 
    ", a, a)
    	fmt.Printf("%T %v 
    ", b, b)
        fmt.Printf("%T %v 
    ", c, c)
    
    }
    
    结果:
    int 20 
    int 10
    

    (三)变量多重赋值(多个变量同时赋值)

    ​ Go语法中,变量初始化和变量赋值是两个不同的概念。Go语言的变量赋值与其他语言一样,可以实现变量交换。

    (四)匿名变量

    • Go语言的函数可以返回多个值,而事实上我们并不是对所有的返回值都用得上。那么就可以使用匿名变量,"_" 下划线替换即可
    • 匿名变量不占命名空间,不会分配内存
    package main
    
    import "fmt"
    
    
    func main() {
    	// 匿名变量
    	m,_ := 20,"enen"
    	fmt.Printf("%T %v 
    ", m, m)
    	
        // 变量互换
        x := 100
        y := 200
        fmt.Println(x, "--", y)
        x, y = y, x
        fmt.Println(x, "--", y)
    }
    
    结果:
    100 -- 200
    200 -- 100
    
    
  • 相关阅读:
    25.大白话说java并发工具类-CountDownLatch,CyclicBarrier,Semaphore,Exchanger
    23.FutureTask基本操作总结
    22.线程池之ScheduledThreadPoolExecutor
    Jenkins + SVN搭建php持续集成
    Django学习系列之Form表单结合ajax
    Django学习系列之模板系统
    Django学习系列之路由系统
    zabbix学习系列之基础概念
    Python学习系列之反射
    Django学习系列之模板
  • 原文地址:https://www.cnblogs.com/hq82/p/12934179.html
Copyright © 2011-2022 走看看