广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >go语言是动态语言吗
  • 197
分享到

go语言是动态语言吗

动态语言go语言Golang 2023-05-14 19:05:40 197人浏览 八月长安
摘要

Go不是动态语言。go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,其变量(variable)是有明确类型的,编译器也会检查变量类型的正确性;因此在使用变量之前必须声明数据类型需要,语法“var 变量

Go不是动态语言。go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,其变量(variable)是有明确类型的,编译器也会检查变量类型的正确性;因此在使用变量之前必须声明数据类型需要,语法“var 变量名 变量类型”。

go语言是动态语言吗

教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

go不是动态语言,而是静态语言。

Go(又称 golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言。

动态语言和静态语言介绍

  • 动态语言(弱类型语言)是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。比如PHP、Asp、javascriptpython、Perl等等。

var s ="hello";
var i = 0;
var b = true;
  • 静态语言(强类型语言)是编译时变量的数据类型就可以确定的语言,大多数静态语言要求在使用变量之前必须声明数据类型。比如Java、C、c++C#、Go等。

String s="hello";    //String 类型的变量
boolean b=true;    //boolean 类型的变量
int i=0;    //int 类型的变量
  • 弱类型语言是数据类型可以被忽略的语言。它与强类型语言相反,一个变量可以赋不同数据类型的值。一个变量的类型是由其上下文决定的,效率更高。

  • 强类型语言是必须强制确定数据类型的语言,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这种数据类型。一个变量的类型是申明的时候就已经确定的,更安全

Golang 变量的声明(使用var关键字)

Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。在数学概念中,变量表示没有固定值且可改变的数。但从计算机系统实现角度来看,变量是一段或多段用来存储数据的内存。

声明变量的一般形式是使用 var 关键字:

var name type
  • var 是声明变量的关键字

  • name 是变量名

  • type 是变量的类型

需要注意的是,Go语言和许多编程语言不同,它在声明变量时将变量的类型放在变量的名称之后。这样做的好处就是可以避免像C语言中那样含糊不清的声明形式,例如:int* a, b; 。其中只有 a 是指针而 b 不是。如果你想要这两个变量都是指针,则需要将它们分开书写。而在 Go 中,则可以和轻松地将它们都声明为指针类型:

var a, b *int

Go语言的基本类型有:

  • bool

  • string

  • int、int8、int16、int32、int64

  • uint、uint8、uint16、uint32、uint64、uintptr

  • byte // uint8 的别名

  • rune // int32 的别名 代表一个 Unicode 码

  • float32、float64

  • complex64、complex128

当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 等。所有的内存在 Go 中都是经过初始化的。

变量的命名规则遵循骆驼命名法,即首个单词小写,每个新单词的首字母大写,例如:numShips 和 startDate 。

变量的声明有几种形式,通过下面几节进行整理归纳。

标准格式

Go语言的变量声明的标准格式为:

var 变量名 变量类型

变量声明以关键字 var 开头,后置变量类型,行尾无须分号。

批量格式

觉得每行都用 var 声明变量比较烦琐?没关系,还有一种为懒人提供的定义变量的方法:

var (
    a int
    b string
    c []float32
    d func() bool
    e struct {
        x int
    }
)

使用关键字 var 和括号,可以将一组变量定义放在一起。

简短格式

除 var 关键字外,还可使用更加简短的变量定义和初始化语法。

名字 := 表达式

需要注意的是,简短模式(short variable declaration)有以下限制:

  • 定义变量,同时显式初始化。

  • 不能提供数据类型。

  • 只能用在函数内部。

和 var 形式声明语句一样,简短变量声明语句也可以用来声明和初始化一组变量:

i, j := 0, 1

下面通过一段代码来演示简短格式变量声明的基本样式。

func main() {
   x:=100
   a,s:=1, "abc"
}

因为简洁和灵活的特点,简短变量声明被广泛用于大部分的局部变量的声明和初始化。var 形式的声明语句往往是用于需要显式指定变量类型地方,或者因为变量稍后会被重新赋值而初始值无关紧要的地方。

【相关推荐:Go视频教程、编程教学】

以上就是go语言是动态语言吗的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: go语言是动态语言吗

本文链接: https://www.lsjlt.com/news/203523.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • go语言是动态语言吗
    go不是动态语言。go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,其变量(variable)是有明确类型的,编译器也会检查变量类型的正确性;因此在使用变量之前必须声明数据类型需要,语法“var 变量...
    99+
    2023-05-14
    动态语言 go语言 Golang
  • go语言是静态语言吗
    go语言是静态语言。GO是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。静态语言(强类型语言)是编译时变量的数据类型就可以确定的语言;而在Go语言中,变量就是有明确类型的,编译器也会检查变量类型的正确性,声...
    99+
    2023-05-14
    Golang go语言
  • go语言是不是动态语言
    这篇文章主要介绍了go语言是不是动态语言的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇go语言是不是动态语言文章都会有所收获,下面我们一起来看看吧。go不是动态语言。go语言是Google开发的一种静态强类型、...
    99+
    2023-07-04
  • go指的是动态语言吗
    这篇文章将为大家详细讲解有关go指的是动态语言吗,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。go不是动态语言,而是静态类型语言。GO是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能...
    99+
    2023-06-14
  • go语言是易语言吗
    go语言不是易语言,两者是不同的编程语言。go语言(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。易语言(EPL)是一门以中文作为程序代码编程语言,其以“易”著称,创始人为吴涛;易语言早...
    99+
    2023-05-14
    易语言 go语言 Golang
  • go语言是编程语言吗
    本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型、并...
    99+
    2022-11-28
    Go Golang go语言
  • go语言是系统语言吗
    go语言是系统语言。Go语言是一门系统级语言,它为解决大型系统开发过程中的实际问题而设计,支持并发、规范统一、简单优雅,性能强大;它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C 等编译型语言的性能与安全性”。Go语言专门...
    99+
    2023-05-14
    Golang go语言
  • go语言是底层语言吗
    go语言不是底层语言,go语言被广泛认为是一种系统级编程语言,更接近于高级语言,而不是底层语言。底层语言通常是指与硬件直接交互的编程语言,它们提供了对计算机底层操作的精细控制,这些语言往往需要程序员手动管理内存、处理输入输出等底层细节,因此...
    99+
    2023-07-17
  • go语言是后端语言吗
    go语言是后端语言。go语言是服务端的编程语言,其方向主要是后端。使用Go语言做后端开发的原因:1、在语言层面具有语法简洁、执行效率高(底层语言)的特点;2、Go语言是主打并发、为并发而生的,其出发点即是瞄准大数据+云计算时代背景下的高并发...
    99+
    2023-05-14
    go语言
  • go语言是机器语言吗
    go语言不是机器语言;机器语言是低级语言,而go语言是一种高级语言。Go语言是Google公司在2009年开源的一门高级编程语言,它为解决大型系统开发过程中的实际问题而设计,支持并发、规范统一、简单优雅,性能强大;它的主要目标是“兼具 Py...
    99+
    2023-05-14
    go语言 Golang
  • go语言是不是静态语言
    这篇文章主要介绍“go语言是不是静态语言”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“go语言是不是静态语言”文章能帮助大家解决问题。go语言是静态语言。GO是Google开发的一种静态强类型、编译...
    99+
    2023-07-05
  • Python是一门动态语言吗
    这篇文章主要讲解了“Python是一门动态语言吗”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python是一门动态语言吗”吧!动态语言的定义动态编程语言 是 高级程序设计语言 的一个类别,...
    99+
    2023-06-02
  • go是高级语言吗
    go是高级语言。Go语言是Google公司在2009年开源的一门高级编程语言,它为解决大型系统开发过程中的实际问题而设计,支持并发、规范统一、简单优雅,性能强大;它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++ 等编译...
    99+
    2023-05-14
    Go go语言 Golang
  • go语言属于底层语言吗
    go语言不属于底层语言。底层语言又叫低级语言,指实现效率低、执行效率高、对硬件的可控性强、目标代码小、可维护性差、可移植性差的语言。而go语言是一门高级编程语言,它为解决大型系统开发过程中的实际问题而设计,支持并发、规范统一、简单优雅,性能...
    99+
    2023-05-14
    Go go语言 Golang
  • php是静态语言吗
    这篇文章主要介绍了php是静态语言吗的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php是静态语言吗文章都会有所收获,下面我们一起来看看吧。php是动态的语言。php是一种动态、弱类型的脚本语言,它在运行时才确...
    99+
    2023-06-30
  • go语言是不是易语言
    本篇内容介绍了“go语言是不是易语言”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!go语言不是易语言,两者是不同的编程语言。go语言(又称G...
    99+
    2023-07-04
  • go语言有gc吗
    本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。GC机制是在Java语言被广泛使用之后所火起来的,像后来的脚本语言Python都支持GC,GO也支持GC。Go语言和C/C++语言的一个显著的特点是Go中对象内存...
    99+
    2022-11-24
    Golang go语言 Go
  • go语言开源吗
    go语言是开源。go语言于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现;go语言采用的是BSD开源协议。BSD开源协议是一个给于使用者很大自由的协议...
    99+
    2023-05-14
    Go Golang go语言
  • go语言有while吗
    这篇“go语言有while吗”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言有while吗”文章吧。go语言中没有wh...
    99+
    2023-07-04
  • go语言是不是后端语言
    今天小编给大家分享一下go语言是不是后端语言的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。go语言是后端语言。go语言是服务...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作