用import 引入公共包或自己定义的包 类似 c 中的include ,按照教程,写了一个判断一个数是否是偶数的包
在当前目录下 mkdir even ,进入目录,vi even.go 写入如下代码
package even
func Even(a int ) bool {
state := false
if a%2 == 0 {
state= true
}
return state
}
然后写一个测试程序 :
package main
import "./even"
func main() {
a:= 3
if even.Even(a) {
println("is even")
}else{
println("not a even")
}
}
两点要注意的地方,1 ,引入even 的函数 前面要加 even ;2,供外部使用的函数或变量 首字母要大写。
go 实现一个栈 :
package main
type stack struct {
top int
mLength int
data [10]int
}
func push(s *stack, key int ) {
if s.top +1 == 10{
return
}
s.data[s.top+1] = key
s.top ++
return
}
func pop(s *stack ) int {
if s.top == 0 {
return -1
}
key := s.data[s.top-1]
s.top --
return key
}
func get(s stack ) int {
if(s.top == 0){
return -1
}
return s.data[s.top-1]
}
func main(){
var s stack
push(&s,25)
push(&s,14)
println(get(s))
}
用包的形式 :
package stack
type Stack struct {
top int
mLength int
data [10]int
}
func (s *Stack)Push( key int ) {
if s.top +1 == 10{
return
}
s.data[s.top+1] = key
s.top ++
return
}
func (s * Stack )Pop( ) int {
if s.top == 0 {
return -1
}
key := s.data[s.top-1]
s.top --
return key
}
func (s * Stack)Get( ) int {
if(s.top == 0){
return -1
}
return s.data[s.top-1]
}
test_stack.go
package main
import "./stack"
func main(){
var s stack.Stack
s.Push(1)
s.Push(2)
println(s.Get())
}