Go语言基础——基本语法

Go语言基础——基本语法

第一个go程序

package main

import "fmt"

func main() {
	fmt.Println("hello world")
	fmt.Println("blank")
}
  • package main:每个Go源代码文件的开头都是一个package声明,表示该Go代码所属的包。不管你创建多少个包,要想让程序运行,必须包含一个main包。如果缺少该包,程序是无法运行的。
  • import "fmt":“import”表示导入,“fmt”是包名。不管是使用我们自己定义的包还是GO自带都是通过import导入的,“fmt”是GO自带的包,该包包含了怎样将信息打印在电脑屏幕上。注意包名要用“”表示。程序有且只有一个主函数
  • func main() { }func 与main之间必须有空格。 func表示后面跟着的main是一个函数,函数必须有一对小括号。
  • fmt.Println("hello world"):使用了fmt包中的Print函数,要将“hello world” 打印在屏幕上。

注释

单行注释
  • // 这是第一个go程序 就是每一行代码加注释
    例:
package main

import "fmt"
//这是第一个go程序

func main() {
	fmt.Println("hello world")
	fmt.Println("blank")
}

多行注释
  • /*这是第一个go程序*/ 适合代码量比较多时

例:

package main

import "fmt"
/*
	这是第一个go程序
*/
func main() {
	fmt.Println("hello world")
	fmt.Println("blank")
}

变量

  • 所谓的变量简单的理解就是计算机用来存储数据的。
变量声明
  • 所谓声明变量就是创建一个变量,并且指定该变量存储什么类型的数据。Go语言引入了关键字var,而类型信息放在变量名之后。
  • 声明格式: var 变量名 类型
  • 同一个{ }中,声明的变量名是唯一的
  • 可以同时声明多个变量,中间用逗号隔开

例:

package main

import "fmt"

func main() {
	fmt.Println("变量")
	var a int = 10
	fmt.Println("a = ", a)

}

自动推导类型

  • 所谓自动推导类型,就是不用通过var 声明变量,不用指定类型,直接在变量名后面跟”:”号,同时完成赋值。GO会根据所赋的值自动推导出变量的类型。

例:

package main

import "fmt"

func main() {
	//自动推导类型
	a := 10
	b := 3.14

	fmt.Println(a)
	fmt.Println(b)
}

多重赋值匿名变量

  • 如果想一次使用自动推导的方式,给多个变量赋值,如下操作:
package main

import "fmt"

func main() {
	//多重赋值
	a, b, c := 10, 3.14, 23.5

	fmt.Println(a)
	fmt.Println(b)
	fmt.Println(c)
}

注:变量个数和值的个数要一一对应

匿名变量
  • _匿名变量,丢弃数据不进行处理, _匿名变量配合函数返回值使用才有价值

例:

package main

import "fmt"

func main() {
	//_表示匿名变量,不接收数据
	_, b, c := 10, 20, "blank"

	fmt.Println(b)
	fmt.Println(c)
}

数据置换

  • 使用传统方式实现
func main() {
	var a int = 10
	var b int = 20
	var temp int 
	temp = a
	a = b
	b = temp
	
	fmt.Println(a)
	fmt.Println(b)
}
  • 使用多重赋值的方式实现
func main() {
	//多重赋值进行交换
	a, b := 10, 20
	a, b = b, a

	fmt.Println(a)
	fmt.Println(b)
}

输出格式

  • GO语言中进行输出,用到两个函数:Print()和Println()
  • 这个两个函数的区别就是Print()函数不换行,Println()换行输出。
  • 除了使用Println()函数换行输出以外,还有另外一个函数Printf()也可以实现换行输出。

例:

package main

import "fmt"

func main() {
	a := 10
	b := 3.14

	fmt.Printf("a=%d\nb=%f", a, b)
}
  • %d是一个占位符,表示输出一个整型数据
  • %f是一个占位符,表示输出一个浮点型数据。默认保留六位小数。
  • %.2f保留小数位数为两位,会对第三位小数四舍五入
  • \n表示是一个转义字符,换行
  • %s是一个占位符,表示输出一个字符串类型
  • Printf()函数一次性换行输出多个变量值,结构清晰。

接收输入

  • GO语言接收用户的键盘输入,用到了“fmt”这个包中的Scanf()函数。

例:

func main() {
	//变量声明
	var a int

	//通过键盘为变量赋值
	//fmt.Scan(&a)
	//fmt.Println("a=%d",a)
	fmt.Scan("%d", &a)
	fmt.Println(a)
}

  • 要注意的是Scanf()函数的书写格式,首先也要用“%d”,来表示输入的是一个整数

变量命名规范

  • 名字必须以一个字母或下划线开头,后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。
  • GO语言自己特有的,具有一定含义的一些字符,也不能作为变量名称。例如,前面我们接触到的func, fmt,print等等,这些都是GO自带的,具有特殊含义的字符,我们称为关键字。如下:
    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
  • 还有大约30多个预定义的名字,比如int和true等
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
驼峰命名法
  • 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
  • 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName

ps:因为有java和c语言基础,此处go语言基础知识就大概总结了一下。= & =

你可能感兴趣的:(Go语言基础——基本语法)