聊聊Golang的语言结构和变量问题

 更新时间:2021年11月03日 16:33:40   作者:曲鸟  
这篇文章主要介绍了Golang的语言结构和变量问题,在golang中定义变量的一般形式是使用 var 关键字,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下

一、语言结构和注意事项

package main  // 声明 main 包,表明当前是一个可执行程序

import "fmt"  // 导入内置的fmt包

func main(){  // main函数,是程序执行的入口
    fmt.Println("Hello World!")  // 在终端打印 Hello World!
}

需要注意的是包裹代码的左大括号{在Golang中不能单独成为一行,例如下面这样:

func main()
{  // 会报错
    fmt.Println("Hello World!")  // 在终端打印 Hello World!
}

除此之外,Golang每行的代码结尾不需要加;号,这跟python是一样的

二、Golang的执行和打包

示例代码

package main  // 声明 main 包,表明当前是一个可执行程序

import "fmt"  // 导入内置的fmt包

func main(){  // main函数,是程序执行的入口

	fmt.Println("按回车键退出:")  
	fmt.Scanln()// 按回车键退出
}
  • 通过点击goland编辑器右上角【绿色三角按钮】进行执行
  • 通过命令go run go代码文件
  • 打包为可执行文件进行执行:go build go代码文件

在这里插入图片描述

三、Golang的变量

1. 定义变量

1)在golang中定义变量的一般形式是使用 var 关键字,例如定义一个名为a的int类型变量:

var a int

但如果仅定义不使用该变量的话,执行代码会报错,这跟Python是不同的:

.\test.go:7:6: a declared but not used

通过打印到终端的方式使用定义的变量a:

package main  // 声明 main 包,表明当前是一个可执行程序

import "fmt"

func main(){  // main函数,是程序执行的入口
	var a int
	fmt.Println(a)
}

输出结果

0 //golang仅定义变量而未赋值的话,则初始值为假,(int为0,bool为false,string为‘')

2)也可以定义一个有初始值的变量:

var a int = 3

3)也可以同时定义多个变量:

var a, b int = 3, 4

4)也可以不指定类型:

var a, b = 3, 4

5)甚至不带var关键字的简洁定义 :

a, b, c := 3, 4,"c"

6)合并定义:

var (
		a = 3
		b = 4
	    )

2. 变量名规则

Golang变量名由字母、数字、下划线组成,其中首个字符不能为数字,例如下面的代码执行就会报错:

var 1a bool

报错输出结果

unexpected literal 1, expecting name

到此这篇关于Golang的语言结构和变量的文章就介绍到这了,更多相关Golang语言结构和变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Go语言如何并发超时处理详解

    Go语言如何并发超时处理详解

    大家都知道golang并没有在语言层次上提供超时操作,但可以通过一些小技巧实现超时。下面来一起看看吧,有需要的朋友们可以参考借鉴。
    2016-09-09
  • Go语言读取文件的四种方式

    Go语言读取文件的四种方式

    本文主要介绍了Go语言读取文件的四种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • golang 数组随机排序的实现

    golang 数组随机排序的实现

    本文主要介绍了golang 数组随机排序的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Fedora14 Linux系统安装Golang开发环境笔记

    Fedora14 Linux系统安装Golang开发环境笔记

    这篇文章主要介绍了Fedora14 Linux系统安装Golang开发环境笔记,本文讲解了2种安装方法,需要的朋友可以参考下
    2014-10-10
  • Golang字符串变位词示例详解

    Golang字符串变位词示例详解

    这篇文章主要给大家介绍了关于GoLang字符串变位词的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • 深入探究Go语言的错误策略与异常机制

    深入探究Go语言的错误策略与异常机制

    本文深入探讨了Go语言的错误策略与异常机制,主要介绍了错误处理的重要性,以及Go语言中的错误类型和处理函数,此外还讨论了Go语言的异常机制,包括panic和recover函数的使用,需要的朋友可以参考下
    2024-02-02
  • GO语言如何手动处理TCP粘包详解

    GO语言如何手动处理TCP粘包详解

    最近在用golang开发人工客服系统的时候碰到了粘包问题,那么什么是粘包呢?下面这篇文章就来给大家介绍了关于GO语言如何手动处理TCP粘包的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴。
    2017-12-12
  • Go语言常见错误接口污染解决分析

    Go语言常见错误接口污染解决分析

    这篇文章主要为大家介绍了Go语言常见错误接口污染解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • GoLang切片并发安全解决方案详解

    GoLang切片并发安全解决方案详解

    这篇文章主要介绍了GoLang切片并发安全问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • Go中crypto/rsa库的高效使用指南

    Go中crypto/rsa库的高效使用指南

    本文主要介绍了Go中crypto/rsa库的高效使用指南,从 RSA 的基本原理到 crypto/rsa 库的实际应用,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02

最新评论