分享
golang[函数篇]
xloogson · · 4035 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
package main
func average(values []float64) float64{
if len(values) == 0{
return 0
}
sum := 0.0
for _,value := range(values){
sum += value
}
return sum/float64(len(values))
}
func main(){
value := []float64{10,10,12,14,15}
println(average(value))
}
package main
func swap(a,b int)(int,int){
if(a<b){
return a,b
}
return b,a
}
func main(){
a,b := swap(1,2)
print(a,b)
}
package main
import (
"fmt"
"strconv"
)
type Stack struct{
index int
data [10]int
}
func (this *Stack) Push(i int) int {
if(this.index>=10){
return -1
}
this.data[this.index] = i
this.index++
println(this.index)
return 0
}
func (this *Stack) Pop() int{
if(this.index<=0){
return -1
}
value := this.data[this.index - 1]
this.index--
return value
}
func (this *Stack) String() string{
var str string
for i:=0;i<this.index;i++{
str = str + "[" + strconv.Itoa(i) + ":" + strconv.Itoa(this.data[i]) + "]"
}
return str
}
func main(){
var obj Stack
obj.Push(12)
obj.Push(13)
obj.Push(14)
obj.Pop()
print(obj.String())
fmt.Printf("%v",obj)
}
package main
func testfunc() func(int) int{
return func(a int) int {return a+1}
}
func main(){
p := testfunc()
println(p(2))
}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信4035 次点击
0 回复
暂无回复
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
package main
func average(values []float64) float64{
if len(values) == 0{
return 0
}
sum := 0.0
for _,value := range(values){
sum += value
}
return sum/float64(len(values))
}
func main(){
value := []float64{10,10,12,14,15}
println(average(value))
}
package main
func swap(a,b int)(int,int){
if(a<b){
return a,b
}
return b,a
}
func main(){
a,b := swap(1,2)
print(a,b)
}
package main
import (
"fmt"
"strconv"
)
type Stack struct{
index int
data [10]int
}
func (this *Stack) Push(i int) int {
if(this.index>=10){
return -1
}
this.data[this.index] = i
this.index++
println(this.index)
return 0
}
func (this *Stack) Pop() int{
if(this.index<=0){
return -1
}
value := this.data[this.index - 1]
this.index--
return value
}
func (this *Stack) String() string{
var str string
for i:=0;i<this.index;i++{
str = str + "[" + strconv.Itoa(i) + ":" + strconv.Itoa(this.data[i]) + "]"
}
return str
}
func main(){
var obj Stack
obj.Push(12)
obj.Push(13)
obj.Push(14)
obj.Pop()
print(obj.String())
fmt.Printf("%v",obj)
}
package main
func testfunc() func(int) int{
return func(a int) int {return a+1}
}
func main(){
p := testfunc()
println(p(2))
}