Go语言入门之基础语法 写在前面👀 写在后面

「这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战

写在前面👀

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,它用批判吸收的眼光,融合C语言、Java等众家之长,将简洁、高效演绎得淋漓尽致。🌍

一、命名规范⭕

Go 语言中,任何标识符(变量,常量,函数,自定义类型等)都应该满足以下规律:

  1. 只能以字母或下划线_开头
  2. 不能使用关键字作为标识符
  3. go语言区分大小写
    Go 的源文件以 .go 为后缀名存储在计算机中,go文件名推荐用纯英文命令,中间可以用下划线_分割,文件名不包含空格或其他特殊字符
  • go语言中25个关键字或保留字👇
    break | default | func | interface | select |
    | ——– | ———– | —— | ——— | —— |
    | case | defer | go | map | struct |
    | chan | else | goto | package | switch |
    | const | fallthrough | if | range | type |
    | continue | for | import | return | var
  • Go 语言还有 36 个预定义标识符,其中包含了基本类型的名称和一些基本的内置函数👇
    append | bool | byte | cap | close | complex | complex64 | complex128 | uint16 |
    | —— | ——- | ——- | ——- | —— | ——- | ——— | ———- | ——- |
    | copy | false | float32 | float64 | imag | int | int8 | int16 | uint32 |
    | int32 | int64 | iota | len | make | new | nil | panic | uint64 |
    | print | println | real | recover | string | true | uint | uint8 | uintptr |

二、Go程序的基本结构🚗

  • Hello World !
  • 建立一个hello.go的文件,用go run命令运行下面的代码,用go build命令可以编译将代码编译成一个可执行文件,通过./hello命令就可以执行它了
1
2
3
4
5
6
7
go复制代码package main

import "fmt"

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

image.png

1.包💼

  • 每个Go程序都是由包构成的,可以使用自身的包或者从其它包中导入内容
  • 每个 Go 文件都属于且仅属于一个包
  • 包名必须是小写
  • 必须在源文件中的第一行指明这个文件属于哪个包,如:package mainpackage main表示一个可独立执行的程序,每个 Go 的可执行程序都包含一个名为 main 的包
  • 当然你也可以编译包名不为 main 的源文件,如:pack1,编译后产生的是pack1.a文件而不是可执行程序
  • go run是执行命令,必须用main调用,而main方法只在package main里面

2.导入包🎆

  • import(导入)多个包经常用小括号( ),包名用双引号包住" "
  • 在 Go 中,如果一个名字以大写字母开头,那么它就是已导出的,如fmt.Prinlnmath.Pi
  • 在导入一个包时,你只能引用其中已导出的名字。任何未导出的名字在该包外均无法访问
1
2
3
4
5
6
7
8
9
10
go复制代码package main

import (
"fmt"
"math"
)

func main() {
fmt.Println(math.Pi) //math.pi会报错
}

image.png

3.main函数🥚

  • main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init( ) 函数则会先执行该函数)
  • main 函数既没有参数,也没有返回类型
  • main方法只能放在package main中,go run 是执行命令,必须要一个main用来调用

4.数据类型🥩

  • 变量(或常量)包含数据,这些数据可以有不同的数据类型,简称类型
  • 类型可以是基本类型,如:int、float、bool、string;结构化的(复合的),如:struct、array、slice、map、channel;只描述类型的行为的,如:interface
  • 函数也可以是一个确定的类型,就是以函数作为返回类型

5.注释🍚

  1. //单行注释
  2. /* */多行注释

三、GO的语法特色🛴

  1. 每个变量声明之后必须要在后面使用,不允许存在变量声明没有使用的情况,这就是go语言的特色:没有无用的代码
  2. 每行程序结束后不需要撰写分号 ; 因为
  3. 花括号 { 不能够换行放置
  4. if判断和for循环不需要以小括号( )包覆起来
  5. go语言的字符串可以通过加号+连接

写在后面

感谢观看❤

如有错误,欢迎指正✨

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%