Golang快速入门(一)

1.从main函数开始

  package main


  import "fmt"


  func main() {
          /* 简单的程序 万能的hello world */
          fmt.Println("Hello Go")
  }


终端运行

$ go run test1_hello.go 
Hello Go
$


go run 表示 直接编译go语言并执行应用程序,一步完成
你也可以先编译,然后再执行

 $go build test1_hello.go 
 $./test1_hello
 Hello Go
  • 第一行代码package main定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
  • 下一行import "fmt"告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。
  • 下一行func main()是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。

注意:这里面go语言的语法,定义函数的时候,‘{’ 必须和函数名在同一行,不能另起一行。

  • 下一行 /.../ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 / 开头,并以 / 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
  • 下一行fmt.Println(...)可以将字符串输出到控制台,并在最后自动增加换行字符 \n。 使用 fmt.Print("hello, world\n") 可以得到相同的结果。 Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。

2.变量

Golang 申明变量主要有三种方式:
 一是使用 var 关键字,申明包级或函数级变量;
 二是使用短变量申明方式,只能申明函数级变量,且需指明变量值;
 三是使用 const 关键字,申明包级或函数级常量。

2.1 var

var 可以申明包级变量,短变量申明方式不可以,这是二者最大的区别。

var name type // var 变量名 数据类型

// 声明一个为int类型的变量 age
var age int

// 当还没有给变量 age 赋值的时候;
// Go 会自动地将其初始化,赋值该变量类型的零值(Zero Value)
// 变量可以赋值为本类型的任何值

同时声明多个变量:

// 声明一个为int类型的变量 age1 和 age2
var age1, age2 int

// 当还没有给变量 age 赋值的时候;
// Go 会自动地将其初始化,赋值该变量类型的零值(Zero Value)
// 变量可以赋值为本类型的任何值

2.2 短申明方式

短变量申明方式只能申明函数级变量,且需指明初始值。在不用作用域申明的变量,会隐藏上一级作用域的同名变量。

:= 操作符左边的所有变量都有初始值;

:= 操作符的左边至少有一个变量是尚未声明的;

Go 是强类型(Strongly Typed)语言,因此不允许某一类型的变量赋值为其他类型的值;

name := value


// 例如
var a int = 10
var b = 10
c : = 10

3.常量

常量是一个简单值的标识符,在程序运行时,不会被修改的量。

常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。

常量的定义格式:

const identifier [type] = value

你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。
显式类型定义:

const b string = "abc"

隐式类型定义:

const b = "abc"

4.函数

函数是Go语言里的核心设计,它通过关键字func来声明,它的格式如下:

func funcName(input1 type1,input2 type2) (output1 type1,output2 type2) {
 	// 这里是处理逻辑代码
  // 返回多个值
  return value1,value2
}

在 Golang 中,函数的参数可以是任何类型,包括基本类型(如 int、float、string 等),结构体、数组、切片、接口等。

Golang 中函数的参数可以是值类型或者指针类型,如果我们传递一个值类型参数,则会在函数内部复制一份该参数,如果我们传递一个指针类型参数,则可以在函数内部修改该参数。

Golang 中函数可以有多个返回值。

在 Golang 中,函数内部的变量只在该函数内部可见,外部代码无法访问。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值