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

一、语言结构和注意事项

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语言结构和变量内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Golang常用环境变量说明与设置详解

    无论你是使用Windows,Linux还是Mac OS操作系统来开发Go应用程序,在安装好Go安装语言开发工具之后,都必须配置好Go语言开发所要求的 环境变量,才算初步完成Go开发环境的搭建. 但对于一些初学者来说,可能不太明白Go语言中常用的环境变量(Environment variables)的作用以及如何设置环境变量,今天我们来讲讲. 注意:Go提供的Windows操作系统安装包(.msi后缀)安装完成后,会自动配置几个常用的环境变量. 常用环境变量 Go语言中可以设置的环境变量有很多,每

  • golang通过反射设置结构体变量的值

    如果需要动态设置struct变量field的情况下, 可以利用reflect来完成. 代码如下: package main import ( "fmt" "reflect" ) // 定义结构体Person type Person struct { Name string Age int } func main() { person := Person{} fmt.Println(person) // 修改前 { 0} pp := reflect.ValueOf(&

  • 解决golang 关于全局变量的坑

    学习golang不久,在定义全局变量的时候遇见了坑.写个小例子,增强记忆. 错误版本 var p int func main() { p, err := test(4) if err != nil { log.Fatal(err) } } func test(i int) (int, error) { return i + 1, nil } 编译一直不通过,p declared and not used.后来查了查资料,看见这种其实是在main里边又重新定义了p,所以一直提示p定义了但是没有使用

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

    一.语言结构和注意事项 package main // 声明 main 包,表明当前是一个可执行程序 import "fmt" // 导入内置的fmt包 func main(){ // main函数,是程序执行的入口 fmt.Println("Hello World!") // 在终端打印 Hello World! } 需要注意的是包裹代码的左大括号{在Golang中不能单独成为一行,例如下面这样: func main() { // 会报错 fmt.Println(

  • C语言中结构体变量私有化详解

    背景介绍 操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据结构.结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问. 问题描述 C语言结构体定义中的变量默认是公有(Public)属性,如果实现成员变量的

  • Golang语言的多种变量声明方式与使用场景详解

    目录 01介绍 02变量声明方式 标准声明变量 不显式赋初始值声明变量 省略类型声明变量 短变量声明 显式类型转换 变量列表声明 变量声明块 03使用场景 包级变量 全局变量 局部变量 04注意事项: 05总结 01介绍 在程序设计中,编译器必须将代表数据的变量名称替换成该数据所在的内存地址.变量的名称.类型及内存地址通常会维持固定,但该内存地址所存储的数据在程序执行期间则可能会改变. Golang 语言编译器需要先明确变量的内存边界,才可以使用变量.通过声明变量使用的类型,编译器可以明确变量的

  • golang特有程序结构入门教程

    Go语言的由来 ​ Go语言亦叫Golong语言,是由谷歌Goggle公司推出.Go语言的主要开发者有:肯.汤姆逊(Ken Thompson).罗布.派克(Rob Pike)和罗伯特.格里泽默(Robert Griesemer).这三个都是大神,稍介绍一下他们的贡献: ​ 肯.汤姆逊(Ken Thompson):图灵奖得主,Uinx发明人,B语言作者(C语言前身),还做飞行员,后来被谷歌挖走. ​ 罗布.派克(Rob Pike):Unix团队和Plan 9操作系统计划的成员,与Ken老爷子共事多

  • C语言 结构体(Struct)详解及示例代码

    前面的教程中我们讲解了数组(Array),它是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为小数,因为数据类型不同,显然不能用一个数组来存放. 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为: struct 结构体名{     结构体所包含的变量或数组 }; 结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可

  • C语言结构体(struct)常见使用方法(细节问题)

    基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量. 结构体定义: 第一种:只有结构体定义 struct stuff{ char job[20]; int age; float height; }; 第二种:附加该结构体类型的"结构体变量"的初始化的结构体定义 //直接带变量名Huqinwei struct stuff{ char job[20]; int age; floa

  • C语言 结构体数组详解及示例代码

    所谓结构体数组,是指数组中的每个元素都是一个结构体.在实际应用中,结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生.一个车间的职工等. 定义结构体数组和定义结构体变量的方式类似,请看下面的例子: struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩 }class[5]; 表示一个班级有5个学生. 结构体数组在定义的同时也可以初始化,例如: str

  • C语言 结构体和指针详解及简单示例

    指针也可以指向一个结构体,定义的形式一般为: struct 结构体名 *变量名; 下面是一个定义结构体指针的实例: struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩 } stu1 = { "Tom", 12, 18, 'A', 136.5 }; //结构体指针struct stu *pstu = &stu1; 也可以在定义结构体的同时定义结构

  • C语言结构体定义的方法汇总

    什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据结构.结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问. 结构体与数组的比较 (1) 都由多个元素组成 (2) 各个元素在内存中的存储空间是连续的 (3) 数组中各个元素的数据类型相同,而结构体中的各个元素的数据类型可以不相同 结

  • 利用C语言结构体实现通讯录

    本文实例为大家分享了C语言结构体实现通讯录的具体代码,供大家参考,具体内容如下 用来存储1000个人的信息的通讯录,每个人的信息包括: 姓名.性别.年龄.电话.住址 程序如下: #include<stdio.h> #include<string.h> #include<stdlib.h> struct People { char name[20]; char sex[5]; int age; char tel[15]; char addr[50]; }; //定义人的信

随机推荐