go 语言学习 – 包的用法
用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()) }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。