Go语言之旅:变量

幸运草
幸运草
幸运草
896
文章
3
评论
2020年4月15日21:00:17 评论 136
var 语句 申明 ( declare )变量列表; 跟 函数 参数列表一样,类型在最后指定。

var 语句的作用域(可见范围)可以是 包级别 或者 函数级别 。 下面这个例子同时包含这两种级别:

package main

 import "fmt"

 var c, python, java bool

 func main() {
     var i int
     fmt.Println(i, c, python, java)
 }

作用域是啥意思呢?

以上述代码为例,变量 c 、 python 、 java 的作用域是 包级别 , 意味着包内任何函数都可以访问这些变量; 定义在函数内部的 i 则是 函数级别 , 只有在 main 函数内部才能访问。

初始值

变量申明可以带初始值,一个变量一个。 在初始值存在的情况下,类型可以忽略;变量则继承初始值的类型。

package main

import "fmt"

var i, j int = 1, 2

func main() {
    var c, python, java = true, false, "no!"
    fmt.Println(i, j, c, python, java)
}

简式申明

在函数内部,可以用 := 赋值语句代替 var 变量申明语句, 变量类型也可以省略,这就是 简式申明 。

package main

import "fmt"

func main() {
    var i, j int = 1, 2
    k := 3
    c, python, java := true, false, "no!"

    fmt.Println(i, j, k, c, python, java)
}

在函数外部,每个语句都必须由一个关键字开始(如 var 、 func 等), := 语句不可用。

特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

转载请注明:{{title}}-变化吧
  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 赞助本站
  • 支付宝扫一扫
  • weinxin
幸运草
Go语言接口规则 前端框架

Go语言接口规则

Go语言接口规则 接口是一个或多个方法签名的集合。任何类型的方法集中只要拥有该接口对应的全部方法签名。就表示它 "实现" 了该接口,无须在该类型上显式声明实现了哪个接口。对应方法,是指有相同名称、参数...
Go语言中处理 HTTP 服务器 前端框架

Go语言中处理 HTTP 服务器

1 概述 包 net/http 提供了HTTP服务器端和客户端的实现。本文说明关于服务器端的部分。 快速开始: package main import (   "log"   "net/http" )...