首页 > 其他分享 >Go 声明

Go 声明

时间:2023-02-19 20:56:09浏览次数:22  
标签:语句 函数 源文件 boiF Go main 声明

1、Go 语言有四种类型的声明语句:var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明。

2、一个Go 语言编写的程序对应一个或多个以go 为文件后缀名的源文件,每个源文件中以package的声明语句开始,说明该源文件属于哪个包。package声明语句之后是import 语句导入依赖的其他package ,然后就是包的一级声明的类型、变量、常量、函数的语句,包一级的各种声明语句的顺序无关紧要(译注:函数内部的名字则必须先声明之后才能使用)
demo1:声明一个常量、一个函数和两个变量。

package main

import "fmt" // 导包

const boiF=212.0  // 全局声明

func main() {
     var f = boiF  // 局部声明
     var c = (f - 32) * 5 / 9 // 局部声明
     fmt.Printf(" boiF print f = %g or c = %g \n",f , c)
     // Output;
     //  boiF print f = 212 or c = 100 
}

常量boiF是包级一级范围声明语句,f 和 c 是main 函数内部声明的声明语句,在包的一级声明语句的变量可在整个包对应的每个源文件中访问,而不是仅仅在其声明的语句所在的源文件中访问。相比之下,局部声明的变量就只能在函数内部很小的范围被访问。

func关键字的声明函数由一个函数名字,参数列表,一个可选的返回值列表包含函数定义的函数体组成。如果函数没有返回值,那么返回值列表可以省略。执行函数从函数的第一个语句开始,依次顺序执行知道遇到return返回语句,如果没有return 语句则执行到函数末尾,然后返回到函数调用者。

demo2:main 函数就调用了两次 fToC函数,分别使用在局部定义的两个常量作为调用函数的参数。

package main

import "fmt"

func main () {
     const frreF , boiF = 32.0, 212.0
     fmt.Printf("f=%g ftoC=%g \n",frreF,fToC(frreF)) //f=32 ftoC=0 
     fmt.Printf("f=%g ftoC=%g \n",boiF ,fToC(boiF)) // f=212 ftoC=100 


}


func fToC(f float64) float64 {

     return (f - 32) * 5 / 9
}

标签:语句,函数,源文件,boiF,Go,main,声明
From: https://www.cnblogs.com/Xingtxx/p/17135556.html

相关文章

  • day6 golang-标准库(随时更新)
    time时间库 packagemainimport( "fmt" "time")funcmain(){ t:=time.Now() //time.Timetime.Date(2023,time.February,19,14,38,1,393023500,ti......
  • go语言面试
    go面试基础= 和 := 的区别?**Go语言中,= 操作符用于赋值,而 := 操作符可以用于声明及赋值。Go语言支持短变量声明(针对局部变量),以 := 为标志,这里要注意的是,Go语......
  • Go语言sync.Map(在并发环境中使用的map)
    Go语言中的map在并发情况下,只读是线程安全的,同时读写是线程不安全的。 下面来看下并发情况下读写map时会出现的问题,代码如下://创建一个int到int的映射m:=make(......
  • The Number of Good Subsets
    TheNumberofGoodSubsetsYouaregivenanintegerarray nums .Wecallasubsetof nums good ifitsproductcanberepresentedasaproductofoneormo......
  • django中使用celery,模拟商品秒杀。
    Celery是Python开发的简单、灵活可靠的、处理大量消息的分布式任务调度模块 安装:pipinstallcelery#安装celery库pipinstallredis#celery依赖于......
  • Golang接口
    理解go中的接口,首先从java的入手圆形和长方形是不同形状,因此他们是两个类,circle和rectangle在java中,他们应当拥有一个公共父类,即形状shape无论哪种形状,都应当是可计算面......
  • golang执行命令 && 实时获取输出结果
    背景golang可以获取命令执行的输出结果,但要执行完才能够获取。如果执行的命令是ssh,我们要实时获取,并执行相应的操作呢?示例funcmain(){ user:="root" host:="......
  • Golang数据结构
    数据类型不同类型的内存样式图查看变量类型使用fmt.Printfpackagemainimport"fmt"funcmain(){str:="Helloworld"fmt.Printf("%T",str)}使用re......
  • Golang基础-随机数
    import"math/rand"n:=rand.Intn(100)//nisarandomint,0<=n<100f:=rand.Float64()//fisarandomfloat64,0.0<=f<1.0x:=[]string{"a","b",......
  • Go 管道关闭引发的探索
    前言在日常开发中,经常会使用chan来进行协程之间的通信.对chan的操作也无外乎读写关.而本次,就是从chan的关闭而来.假设我们对外提供的方法如下:typeChanstruct{......