Go语言学习_语言结构

一、Part1_语言结构

1、Go语言的基础组成

1.1包声明
1.2引入包
1.3函数
1.4变量
1.5语句 & 表达式
1.6注释

2、HwlloWorld实例

package main
import "fmt"
func main(){
	fmt.Println("Hello World!");
}

2.1程序的各个部分分析
1)第一行代码package main定义了包名,必须在源文件中非注释第一行指明这个文件属于哪个包,如package main;package main表示一个可独立执行的程序,每个Go应用程序都包含一个名为main的包。
2)下一行import "fmt"告诉Go编译器这个程序需要使用"fmt"包(的函数,或其他元素),fmt包实现了格式化IO(输入/输出)的函数。
3)下一行func main()是程序开始执行的函数;main函数是每一个可执行程序所必须包含的,一般来说都是启动后第一个执行的函数(如果有init()函数,则优先执行该函数)。
4)下一行//则是注释,在程序执行时将被忽略;单行注释是最常见的注释形式,你可以在任何地方使用以//开头的单行注释;多行注释也叫块注释,均已以/开头,并以/结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
5)下一行fmt.Println(…)可以将字符串输出到控制台,并在最后自动添加换行符\n。
使用fmt.Print(“hello, world\n”) 可以得到相同的结果。
Print和Println这两个函数也支持使用变量,如fmt.Println(arr)。如果没有特别指定,他们会以默认的打印格式将变量arr输出到控制台。
6)当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的protected)。

3、执行Go程序

1)、打开编辑器如notepad++,将以上代码添加到编辑器中。
2)、将以上代码保存为hello.go。
3)、打开命令行,并进入程序文件保存的目录中。
4)、输入命令go run hello.go,并回车执行代码。

[root@bogon ~]# go run helloworld.go 
Hello World!
[root@bogon ~]# 

5)、我们还可以通过go build指令来生成二进制文件。

[root@bogon ~]# go build helloworld.go 
[root@bogon ~]# ll
total 3832
-rw-------. 1 root root    1243 Jan 15 11:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 1886796 Oct 18 06:00 get-pip.py
-rwxr-xr-x. 1 root root 2026428 Jan 15 22:01 helloworld
-rw-r--r--. 1 root root      75 Jan 15 18:12 helloworld.go
[root@bogon ~]# ./helloworld 
Hello World!

注意

需要注意的是 { 不能单独放在一行

package main

import "fmt"

func main()
{
    fmt.Println("Hello World!")
}

编译和运行都会报错

[root@bogon ~]# go run helloworld.go 
# command-line-arguments
./helloworld.go:5:6: missing function body
./helloworld.go:6:1: syntax error: unexpected semicolon or newline before {

正确写法

package main

import "fmt"

func main(){
    fmt.Println("Hello World!")
}

以上学习案例均基于菜鸟教程,https://www.runoob.com/

总结:
1、go的一个可独立执行的程序由以下部分组成包声明、引入包、函数、变量、语句 & 表达式、注释;
2、go的基本指令
go run 文件名.go 执行该程序;
go build 文件名.go 编译该程序,生成二进制文件;
3、{ 不能单独放在一行,执行或编译或报错;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值