Golang学习-基础入门(1)

最简单的GO程序结构-Hello World

  • Go语言由以下几个部分组成
    • 包声明
    • 引入包
    • 函数
    • 变量
    • 语句 & 表达式
    • 注释
  • 新建一个main.go文件,下面是一个最简单的go程序代码:
package main  //申明包名

import "fmt" //引入包
/**
这是程序入口函数
多行注释
*/
func main() {   
	fmt.Println("HelloWorld")   //标准输出
}
  • go源代码都以".go"为后缀名
  • package main 定义了包名,必须在源文件中非注释的第一行指明这个文件属于哪个包,每个 Go 应用程序都有且只有一个名为 main 的包。
  • import “fmt” 告诉 Go 编译器需要使用 fmt 包,fmt 包用于处理程序的标准输入输出。
  • //是单行注释。
  • /*…*/ 是多行注释。
  • func main() 是程序开始执行的入口函数。main 函数是每一个Go应用程序必须实现的一个函数,如果没有main函数,程序将无法编译通过。
  • fmt.Println(…) 使用fmt包下的标准输出方法将字符串输出到控制台。
  • 执行 go build main.go编译可执行文件后可直接执行编译的可执行文件。
  • 执行go run main.go会先编译成可执行文件后再自动执行编译后的可执行文件。
    在这里插入图片描述
  • Go程序一行代表一个语句,不以;作为结尾。如果将多个语句写在同一行则需要以;进行分割,但是这种做法是不推荐的。
func main() {
	fmt.Println("HelloWorld")
	fmt.Println("HelloWorld1")
	fmt.Println("HelloWorld2");fmt.Println("HelloWorld3") //不推荐
}

标识符

  • Go标识符用于命名变量,类型等程序实体,可以使用字母,下划线,数组组成,但是首字母不能为数字。
  • 不能使用go关键字和保留字作为标识符。
name_1  //正确
_name1  //正确
1_name //错误
  • 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的37个保留字
    Constants:    true  false  iota  nil

    Types:    int  int8  int16  int32  int64  
              uint  uint8  uint16  uint32  uint64  uintptr
              float32  float64  complex128  complex64
              bool  byte  rune  string  error

    Functions:   make  len  cap  new  append  copy  close  delete
                 complex  real  imag
                 panic  recover

基本数据类型

  • 布尔类型:bool
  • 数字类型:
    • 整型:uint8,uint16,uin32,uint64,int8,int16,int32,int64
    • 浮点型:float32,float64,complex64,complex128
    • 扩展:byte,rune,uint,int,uintptr
  • 字符串类型:string
  • 复合类型:
    • 指针类型
    • 数组类型
    • 结构体
    • 通道(channel)
    • 函数类型
    • 切片类型
    • 接口类型
    • map类型

变量

  • 变量声明可以使用两种方式声明变量
    1. 使用var关键字: var 变量名 类型
    2. 使用:= 赋值语句: 变量名 := 值
package main

import "fmt"

// 声明int类型变量
var a int

// 声明int类型变量并赋初值为10
var b = 10
var c string
var d int64 = 20

func main() {
	// := 符号只能用在函数内 等价于  var e = 30
	// 函数内声明的变量必须使用,如果未使用将无法编译通过
	e := 30
	f := "cs"

	fmt.Printf("a: %v\n", a)
	fmt.Printf("b: %v\n", b)
	fmt.Printf("c: %v\n", c)
	fmt.Printf("d: %v\n", d)
	fmt.Printf("e: %v\n", e)
	fmt.Printf("f: %v\n", f)
}
  • 变量在使用前必须声明,如果使用未申明的变量,将无法编译通过。
  • 变量可以只声明而不对其赋予初始值,则变量将使用该类型默认的初始值。
  • = 和 :=会根据右边的值自行判断变量类型,而不用显示的在左边指定类型。

常量

  • 常量是在运行时不会被修改的量,常量中的数据类型只有:bool, 整型,浮点型,复数,字符串。
  • 常量使用const关键字进行声明:const 变量 数据类型 = 值
package main

import "fmt"

// 声明单个常量
const NAME string = "baixiaoyuan"

// 声明多个常量
const (
	NAME1 string = "BXY"
	AGE   int    = 123
	SEX          = "男" //类型可以忽略,编译器会自动判断类型
)

// 同时声明多个常量
const A, B = 1, 2

func main() {
	fmt.Printf("%v\n", NAME)
	fmt.Printf("%v\n", NAME1)
	fmt.Printf("%v\n", AGE)
	fmt.Printf("%v\n", SEX)
	fmt.Printf("%v\n", A)
	fmt.Printf("%v\n", B)
}
  • 常量在运行过程中不能进行修改,修改常量会发送运行时异常。
  • 以上三种定义常量的方式同样可以定义变量,只需要将关键字变为var。
  • 开发过程中,常将常量用作枚举,例如:1代表成功,0代表失败需要定义一组常量来使用,而不是在代码处直接使用0,1。这样有利于代码的后期维护及提高代码可读性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值