一起来学GO语言2--GO语言基本语法

GO语言和其它语言一样,都是从小的组件构建而来的,由变量、表达式、基本类型来构成的

1、可访问性

一个声明实体如果在函数的外部,那么它对整个包可见。实体的第一个字母的大小写决定其是否挎包可见。如果第一个字母小写,那么包外不可见,如果第一个字母大写,那么是包外可见的。在GO语言中一般使用“驼峰式”命名的风格。下面我们写一些代码来验证下包的可见性问题。

 这里创建三个go文件,main.go、test.go和uitl包下面的util.go。文件结构如下图:

util.go中代码,在util包中我们声明了两个方法,分别是以大写字母开头的Util1和小写字母开头的util2和两个包级变量PI和str

package util

import (
	"fmt"
	"math"
)

var PI float64 = math.Pi
var str string = "str"

func Util1() {
	fmt.Println("i am Util1!")
}

func util2() {

	fmt.Println("i am util2!")
}

test.go,在test中我们定义了两个方法,test1和Test2

// test
package main

import (
	"fmt"
)

func test1() {
	fmt.Println("i am test1!")
}

func Test2() {
	fmt.Println("i am Test2!")
}

main.go中调用了test.go和util包下util.go中的方法,调用util包中的方法,必须因入util包

// stydy project main.go
package main

import (
	"fmt"
	"util"
)

func main() {
	test1()
	Test2()
	util.Util1()
	fmt.Println(util.PI)

}

运行结果如下:

 从运行结果可以看出,同一个包下,test.go中,大小写开头的方法都可以调用,util.go中,我们只能调用大写字母开头的函数和变量。

2、变量

GO中使用var来声明一个变量,例如:

var x, y = 5, 6

或者

var x, y int = 5, 6

在或者

var x, y int

x, y = 5, 6

最后一种声明我们需要注意的是,在声明时如果没有赋值,那么变量的类型就不可以省略

3、短变量

在局部声明中我们可以使用短变量,如下

x, y := 5, 6

在GO中:=表示声明,=表示赋值,但是如果变量已经被声明,那么再次使用:=时表示赋值,但是需要注意的是,再次使用:=时必须有一个新的变量,如下

x, y := 5, 6

z, y := 8, 9

4、指针

变量是存储值得地方,指针的值是一个变量的地址。使用指针时,可以在无须知道变量名称的情况下,读取或者跟新变量的值。例如看下面一段代码:

var x int = 5
var p *int = &x
*p = 8
fmt.Printf("x=%d &x=%v p=%v\n", x, &x, p)

输出结果为:

从结果可以看出,我们在没有使用变量x的情况下修改了x的值,x的地址和p的地址是相同的

最后用一段练习代码来结束本篇博客,我们一起来写一个求圆面积和体积的方法

package main

import (
	"fmt"
	"math"
)

const PI = math.Pi

func getCircleArea(r float64) float64 {
	return PI * math.Pow(r, 2)
}

func getBallSize(r float64) float64 {
	return 4 * PI * math.Pow(r, 3) / 3
}

func main() {
	r := 1.5
	area := getCircleArea(r)
	ballSize := getBallSize(r)
	fmt.Printf("圆面积=%f 球体积=%f\n", area, ballSize)
}

结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值