Go 语言结构实例分析
当前的调试部分可以使用 go run filename.go 来执行。
可以生成一个 build.sh 脚本,用于在指定位置产生已编译好的 可执文件:
#!/usr/bin/env bash CURRENT_DIR=`pwd` OLD_GO_PATH="$GOPATH" #例如: /usr/local/go OLD_GO_BIN="$GOBIN" #例如: /usr/local/go/bin export GOPATH="$CURRENT_DIR" export GOBIN="$CURRENT_DIR/bin" #指定并整理当前的源码路径 gofmt -w src go install test_hello export GOPATH="$OLD_GO_PATH" export GOBIN="$OLD_GO_BIN"
关于包,根据本地测试得出以下几点:
- 文件名与包名没有直接关系,不一定要将文件名与包名定成同一个。
- 文件夹名与包名没有直接关系,并非需要一致。
- 同一个文件夹下的文件只能有一个包名,否则编译报错。
文件结构:
Test --helloworld.go myMath --myMath1.go --myMath2.go
测试代码:
// helloworld.go
package main
import (
"fmt"
"./myMath"
)
func main(){
fmt.Println("Hello World!")
fmt.Println(mathClass.Add(1,1))
fmt.Println(mathClass.Sub(1,1))
}
// myMath1.go
package mathClass
func Add(x,y int) int {
return x + y
}
// myMath2.go
package mathClass
func Sub(x,y int) int {
return x - y
}
到此这篇关于Go 语言结构实例分析的文章就介绍到这了,更多相关Go 语言结构内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Go语言结构体定义和使用方法
本文实例讲述了Go语言结构体定义和使用方法.分享给大家供大家参考.具体分析如下: 一个结构体(struct)就是一个字段的集合. (而 type 定义跟其字面意思相符.) 复制代码 代码如下: package main import "fmt" type Vertex struct { X int Y int } func main() { fmt.Println(Vertex{1, 2}) } 结构体字段使用点号来访问. 复制代码 代码如下: package
-
Go 语言结构实例分析
当前的调试部分可以使用 go run filename.go 来执行. 可以生成一个 build.sh 脚本,用于在指定位置产生已编译好的 可执文件: #!/usr/bin/env bash CURRENT_DIR=`pwd` OLD_GO_PATH="$GOPATH" #例如: /usr/local/go OLD_GO_BIN="$GOBIN" #例如: /usr/local/go/bin export GOPATH="$CURRENT_DIR"
-
mysql代码执行结构实例分析【顺序、分支、循环结构】
本文实例讲述了mysql代码执行结构.分享给大家供大家参考,具体如下: 本文内容: 什么是代码执行结构 顺序结构 分支结构 循环结构 首发日期:2018-04-18 什么是代码执行结构: 这里所说的代码执行结构就是多条sql语句的执行顺序. 代码执行结构主要用于触发器.存储过程和函数等存储多条sql语句中. 顺序结构: 顺序结构就是从上到下依次执行sql语句 一般默认情况下都是顺序结构 分支结构: 分支结构的执行是依据一定的条件选择执行路径,它会依据我们给定的条件来选择执行那些sql语句 mys
-
Go语言共享内存读写实例分析
本文实例分析了Go语言共享内存读写的方法.分享给大家供大家参考.具体分析如下: 前面分析了Go语言指针运算和内嵌C代码的方法,做了一个Go语言共享内存读写的实验. 先大概说下什么是共享内存.我们知道不同进程见的内存是互相独立的,没办法直接互相操作对方内的数据,而共享内存则是靠操作系统提供的内存映射机制,让不同进程的一块地址空间映射到同一个虚拟内存区域上,使不同的进程可以操作到一块共用的内存块.共享内存是效率最高的进程间通讯机制,因为数据不需要在内核和程序之间复制. 共享内存用到的是系统提供的mm
-
GO语言文件的创建与打开实例分析
本文实例分析了GO语言文件的创建与打开用法.分享给大家供大家参考.具体分析如下: 文件操作是个很重要的话题,使用也非常频繁,熟悉如何操作文件是必不可少的.Golang 对文件的支持是在 os package 里,具体操作都封装在 type File struct {} 结构体中. 一.func Open(name string) (file *File, err error) 再简单不过了,给一个路径给它,返回文件描述符,如果出现错误就会返回一个 *PathError. 这是一个只读打开模式,实
-
Go语言多值替换的HTML模板实例分析
本文实例分析了Go语言多值替换的HTML模板用法.分享给大家供大家参考.具体如下: 这里通过两种方式提供基于HTML模板的多变量值替换.另外附加一个数组迭代的示例. 传入map实现多值替换 复制代码 代码如下: package main import ( "html/template" "os" ) func main() { t, _ := template.New("demo").Parse(`{{define "T"
-
R语言操作XML文件实例分析
XML是一种文件格式,它使用标准ASCII文本共享万维网,内部网和其他地方的文件格式和数据. 它代表可扩展标记语言(XML). 类似于HTML它包含标记标签. 但是与HTML中的标记标记描述页面的结构不同,在xml中,标记标记描述了包含在文件中的数据的含义. 您可以使用"XML"包读取R语言中的xml文件. 此软件包可以使用以下命令安装. install.packages("XML") 输入数据 通过将以下数据复制到文本编辑器(如记事本)中来创建XMl文件. 使用.
-
Go语言中的指针运算实例分析
本文实例分析了Go语言中的指针运算方法.分享给大家供大家参考.具体分析如下: Go语言的语法上是不支持指针运算的,所有指针都在可控的一个范围内使用,没有C语言的*void然后随意转换指针类型这样的东西.最近在思考Go如何操作共享内存,共享内存就需要把指针转成不同类型或者对指针进行运算再获取数据. 这里对Go语言内置的unsafe模块做了一个实验,发现通过unsafe模块,Go语言一样可以做指针运算,只是比C的方式繁琐一些,但是理解上是一样的. 下面是实验代码: 复制代码 代码如下: packag
-
go语言简单网络程序实例分析
本文实例分析了go语言简单网络程序.分享给大家供大家参考.具体分析如下: 服务端代码如下: 复制代码 代码如下: package main import ( "net" "os" ) func serve(s net.Conn) { var buf [1024]byte for { n, err := s.Read(&buf) if err != nil || n == 0 {
-
go语言执行等待直到后台goroutine执行完成实例分析
本文实例分析了go语言执行等待直到后台goroutine执行完成的用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: var w sync.WaitGroup w.Add(2) go func() { // do something w.Done() } go func() { // do something w.Done() } w.Wait() 希望本文所述对大家的Go语言程序设计有所帮助.
-
C#中结构(struct)的部分初始化和完全初始化实例分析
本文实例分析了C#中结构(struct)的部分初始化和完全初始化,分享给大家供大家参考.具体分析如下: 假设有这样一个值类型struct,如下所示: public struct Size { public int Length; public int Width; public int Area() { return Length*Width; } } 一.客户端,给所有struct字段初始化后调用方法 class Program { static void Main(string[] args
随机推荐
- python进阶教程之循环对象
- AngularJS在IE8的不支持的解决方法
- Vue声明式渲染详解
- javascript实现随机读取数组的方法
- 为什么Java要把字符串设计成不可变的
- Java从控制台接受输入字符的简单方法
- asp.net的IndexOf,LastIndexOf,IndexOfAny和LastIndexOfAny的用法
- js 禁用只读文本框获得焦点时的退格键
- JS根据浏览器窗口大小实时动态改变网页文字大小的方法
- C#设置WinForm中DataGrid列的方法(列宽/列标题等)
- destoon二次开发常用数据库操作
- C#设置MDI子窗体只能弹出一个的方法
- 解决canvas画布使用fillRect()时高度出现双倍效果的问题
- javascript从右边截取指定字符串的三种实现方法
- mysql中错误:1093-You can’t specify target table for update in FROM clause的解决方法
- 在Windows Server 2008 R2服务器下架设VPN服务器的方法
- jQuery学习总结之元素的相对定位和选择器(持续更新)
- jQuery实现的瀑布流加载效果示例
- javascript设计模式之策略模式学习笔记
- IIS6 w3wp.exe进程占用cpu和内存过多的解决方法
