zoukankan      html  css  js  c++  java
  • go语言的变量与常量的声明及使用

    go语言文字的基本结构

    package main
    
    //导入语句,导入的包
    import "fmt"
    
    //程序的入口 
    func main()  {
    	fmt.Println("Hello 世界!")
    }
    
    

    go语言的变量以及声明

    go语言中的变量必须要先声明,再使用
    
    1、声明变量
    `var s1 string`声明一个s1变量,类型是字符串
    
    package main
    
    import "fmt"
    
    //单独声明变量,并且go语言中推荐使用小驼峰命名 例如 var myHobby string
    /*var name string
    var age int
    var isOk bool
    */
    
    //批量声明变量(一般用来定义全局变量)
    var (
    	name string //默认赋值为“”
    	age  int    //默认赋值为0
    	isOk bool   //默认是false
    )
    
    func foo() (int, string) {
    	return 25, "Alen"
    }
    
    func main() {
    	name = "Alen"
    	age = 25
    	isOk = true
    	//go语言中声明的变量必须使用,不使用的话编译时会报错
    	fmt.Print(isOk)             //在终端中输出要打印的内容
    	fmt.Println()               //打印一个空行,也相当如换行
    	fmt.Printf("name:%s
    ", name) //%s:占位符,使用name这个变量的值去替换占位符,
    加上表示换行
    	fmt.Println(age)            //打印完指定的内容之后会在后面加一个换行符
    
    	//声明变量的三种方式
    	//声明变量同时赋值
    	var s1 string = "Alen"
    	fmt.Println(s1)
    
    	//类型推导
    	var s2 = "Alen"
    	fmt.Println(s2)
    
    	//短声明变量(只能在函数中使用这种方法) 这种推荐使用
    	s3 := "Alen go"
    	fmt.Println(s3)
    
    	//匿名变量:一个特殊的变量 用_下划线来表示,常用于接收不想用的变量
    	i, _ := foo()
    	_, j := foo()
    	fmt.Println("i=", i)
    	fmt.Println("j=", j)
    
    }
    
    
    终端输出:
    PS C:UsersAlengosrc2var> go build
    PS C:UsersAlengosrc2var> .var.exe
    true
    name:Alen
    25
    Alen
    Alen
    Alen go
    i= 25
    j= Alen
    
    
    

    go语言常量

    package main
    
    import "fmt"
    
    //常量,用const来声明表示在程序运行期间不会改变的量
    //注意:常量定义了之后不能修改
    const pi = 3.14
    
    //批量声明常量
    const (
    	statusOk = 200
    	notFound = 404
    )
    
    //注:如果批量声明时,某一行声明后没有赋值,表示默认和上一行一致
    const (
    	n1 = 100
    	n2
    	n3
    )
    
    //iota是go语言中的常量计数器,只能在常量的表达式中使用
    /*
    iota 在const关键字出现时将被置为0,const中每增加一行常量声明将使iota计数一次,
    可以理解为const语句块中的行索引,使用iota能简化定义,在定义枚举时很有用
    */
    const (
    	a1 = iota  //0
    	a2         //1
    	a3         //2
    )
    
    //几个常见的iota示例
    const (
    	b1 = iota //0
    	b2        //1
    	_         //2
    	b3        //3
    )
    
    //iota声明插队
    const (
    	c1 = iota  //0
    	c2 = 100   //100
    	c3 = iota  //2
    	c4         //3
    
    )
    
    //定义数量级(<<表示左移,1<<10表示将1的二进制表示向左移10位)
    const (
    	_ = iota //0
    	kb = 1 << (10 * iota)  //000001将1向左移10位置   二进制位10000000000也就是十进制1024
    	mb = 1 << (10 * iota)  
    	gb = 1 << (10 * iota)
    	tb = 1 << (10 * iota)
    	pb = 1 << (10 * iota)
    )
    
    func main()  {
    	fmt.Println("n1", n1)
    	fmt.Println("n2", n2)
    	fmt.Println("n3", n3)
    
    	fmt.Println("a1", a1)
    	fmt.Println("a2", a2)
    	fmt.Println("a3", a3)
    
    	fmt.Println("b1", b1)
    	fmt.Println("b2", b2)
    	fmt.Println("b3", b3)
    
    	fmt.Println("c1", c1)
    	fmt.Println("c2", c2)
    	fmt.Println("c3", c3)
    }
    
    终端输出:
    PS C:UsersAlengosrc2const> go build
    PS C:UsersAlengosrc2const> .const.exe
    n1 100
    n2 100
    n3 100
    a1 0
    a2 1
    a3 2
    b1 0
    b2 1
    b3 3
    c1 0
    c2 100
    c3 2
    
    
    Only you can control your future You're not alone. You still have family,peopel who care for you and want to save you.
  • 相关阅读:
    初窥语义搜索
    爬取菜谱网站
    paramiko简介
    软件项目结构规范
    paramiko 远程执行多个命令
    python 中in 的 用法
    spring依赖(部分)
    ModelAndView的部分回顾
    SringMVC 国际化
    spring事物配置,声明式事务管理和基于@Transactional注解的使用
  • 原文地址:https://www.cnblogs.com/yafeng666/p/15208354.html
Copyright © 2011-2022 走看看