首页 > 文章列表 > 聊聊Golang的语言结构和变量问题

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

golang
156 2022-12-17

一、语言结构和注意事项


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