一、go获取程序参数及指针地址示例

package main
import (
"fmt"
"os"
) func main() {
fmt.Println(os.Args); if len(os.Args) > 1{
fmt.Println("Hi", os.Args[1])
}else {
fmt.Println("Hello world")
os.Exit(3)
} fmt.Println(*foo())
} func foo() *string{
s := "Hello arun"
return &s
}/*
Hi ggg
Hello arun
*/

(1)go run helloworld.go

(2)go build helloworld.go && ./hellowold

注意事项:main函数没有参数和返回值

package main
import (
"fmt"
"os"
) //func main() int { //func main must have no arguments and no return values
func main() { //func main must have no arguments and no return values
fmt.Println("Hello arun!")
//return 1
os.Exit(-1)
}

二、编写测试go测试程序

1.源码文件以_test结尾: xxx_test.go

2.测试方法名以Test开头: func TestXXX(t *testing.T) {...}

package fib
import (
"fmt"
"testing"
) func TestFibonacciCreation(t *testing.T) {
//t.Log("Log print")
/* var a int =1
var b = 1
var n int = 5*/ /* var (
a int = 1
b = 1 //自动类型推断
n int = 5
)*/ var a, b , n= 1, 1, 5 fmt.Print(a)
for i :=0;/*短变量声明 := */ i< n; i++{
fmt.Print(" ", b)
tmp := a
a = b
b = tmp + b
}
fmt.Println()
}/*
=== RUN TestFibonacciCreation
1 1 2 3 5 8
--- PASS: TestFibonacciCreation (0.00s)
PASS
*/

  09:04

001_Go hello world的更多相关文章

  1. 001_go语言中的hello world

    代码演示: package main import "fmt" func main() { fmt.Println("hello world") } 代码解读: ...

随机推荐

  1. [题解] 2038: [2009国家集训队]小Z的袜子(hose)

    莫队,卡常数 题目地址 思路 设\(\text{Vis[i]}\)为元素\(\text{i}\)在区间\(\text{[L,R]}\)的出现次数 考虑区间\(\text{[L,R]}\)和元素\(\t ...

  2. Maven项目pom文件设置JDK版本

    maven项目创建之后有时候默认设定了java的低版本,每次导入项目或者更新maven的时候可能或出现一些报错,在pom.xml设定版本免除这个问题 <build> <finalNa ...

  3. mapbox.gl源码解析——基本架构与数据渲染流程

    加载地图 Mapbox GL JS是一个JavaScript库,使用WebGL渲染交互式矢量瓦片地图和栅格瓦片地图.WebGL渲染意味着高性能,MapboxGL能够渲染大量的地图要素,拥有流畅的交互以 ...

  4. Linux命令大全汇总,让你工作更有效率!

    基础命令 useradd:用户名 -m:创建新用户 passwd 用户名:为用户设置密码(当创建新用户后,就需要设置密码) whoami:查看当前用户名 exit :退出当前用户,返回之前切换过来的用 ...

  5. [Inside HotSpot] hotspot的启动流程与main方法调用

    hotspot的启动流程与main方法调用 虚拟机的使命就是执行public static void main(String[])方法,从虚拟机创建到main方法执行会经过一系列流程.这篇文章详细讨论 ...

  6. v-cloak的用法和注意事项

    v-cloak是前端框架vue.js中的一个方法,作用是为了防止在页面加载时先出现变量名闪烁的情况,造成不好的用户体验, 例如:{{ v.name}} (闪一下)=> 张三 用法:html中:& ...

  7. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十 || AOP面向切面编程浅解析:简单日志记录 + 服务切面缓存

    代码已上传Github+Gitee,文末有地址 上回<从壹开始前后端分离[ .NET Core2.0 Api + Vue 2.0 + AOP + 分布式]框架之九 || 依赖注入IoC学习 + ...

  8. jdk切换小工具

    今天无意之中看到一个小工具,就是可以自由切换jdk版本!以前每次切换jdk还要去找环境变量找半天,emmm.... 现在我们只需要双击一个xxx.bat的一个批处理文件,就可以自由切换jdk版本,很方 ...

  9. springboot~mongo内嵌集合的操作

    对于mongodb的内嵌对象的各种操作大叔在.net平台时已经说过,同时大叔也自己封装过mongo的仓储,使用也都很方便,而在java springboot框架里当然也有对应的方法,下面主要说一下,希 ...

  10. 微信公众号开发C#系列-9、多公众号集中管理

    1.概述 通过前面8篇关于微信开发相关文章的学习,我们已经对微信常用开发有了一个比较深入的了解.前面的文章都是基于某一特定公众号的,在现实业务中同一单位个体运营着不至一个公众号,此时就需要对多个公众号 ...