Go语言程序
有关Go语言程序设计的博客
海岛Blog
专注于程序设计及其竞赛,专注于集成电路EDA设计
展开
-
Go语言实现的素数筛选程序
通过这个例子可以了解数组的定义及其使用、切片的定义及其使用。同时,也可以了解变量的定义,各种控制语句的使用,类型的转换等。这里给出的程序,计算1000以内的所有素数,输出的每一行是序号+素数。Go语言程序:// prime project main.gopackage mainimport ( "fmt" "math")const N int = 100原创 2017-07-30 00:04:12 · 1142 阅读 · 0 评论 -
Go语言的big包实现大整数运算
程序虽然写出来了,但是不知道如何用一个大数(例如100位的大数)去初始化一个大数变量,比较遗憾!Go语言程序:// bigint project main.gopackage mainimport ( "fmt" "math" "math/big")func main() { // Here are some calculations with bigInts:原创 2017-07-29 10:15:46 · 22393 阅读 · 0 评论 -
Go语言程序的数组初始化
Go语言数组初始化是最基本的编程训练。通过这个例子可以知道多维数组的初始化,需要注意的是格式。Go语言程序:// array project main.gopackage mainimport ( "fmt")const N int = 5var a = [N + N]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}var b = [N][N]原创 2017-08-20 00:42:37 · 7186 阅读 · 0 评论 -
Go语言实现线程安全访问队列
这个例子用Go语言的包"container/list"实现一个线程安全访问的队列。其中不少细节耐人寻味,做出它则是花费了不少精力,找不到样例啊!Go语言的许多优点自不必说,然而从C/C++程序角度看,语言的语法也好,程序的实现方式也好,看起来总有点怪怪的感觉。在这个程序的基础上,是很容易实现一个线程安全访问的堆栈的。Go语言程序:// structlist proj原创 2017-08-19 22:46:30 · 7957 阅读 · 1 评论 -
Go语言结构应用实例
编写程序过程中,经常会用到结构。本程序给出了使用结构的简单实例。Go语言程序:// struct project main.gopackage mainimport ( "fmt")const N int = 10type Node struct { figure int // 位数 digits1 [N]int digits2 [N]int sflag原创 2017-08-19 12:30:29 · 593 阅读 · 0 评论 -
Go语言实现大数开方程序
Go语言的big包实现大数运算,但是有关大整数运算,似乎没有相应的开方程序。这里给出的程序,实现了大整数的开方运算函数。该程序是基于大整数开方运算的算法实现的。Go语言程序:// bigintsqrt project main.gopackage mainimport ( "fmt" "math" "math/big")func main() { v :=原创 2017-08-13 00:25:23 · 2158 阅读 · 0 评论 -
Go语言程序记录日志
许多软件系统运行中需要日志文件。Go语言程序中,输出日志需要使用包"log",编写程序十分简单。像Java语言程序,输出日志时,往往需要使用开源的软件包来实现,编写程序稍微复杂一些。Go语言的包"log"中,提供了三类借口,分别是Print(一般的log,进程退出代码为0即正常)、Panic(意外的log,进程退出代码为2)和Fatal(致命的log,进程退出代码为1)。原创 2017-08-11 12:45:02 · 1401 阅读 · 0 评论 -
Go语言实现文本文件拷贝
文本文件的读写是程序的常见操作。这个程序的功能实现文件的拷贝操作,包括了文件的打开、关闭和读写。该程序是按行读入数据文件的内容,然后将其写入到另外一个文件中。Go语言程序:// fileio project main.gopackage mainimport ( "bufio" "io" "log" "os" "syscall")func main()原创 2017-08-11 06:20:03 · 1198 阅读 · 1 评论 -
Go语言实现并行分段求和计算
这个实例通过循环实现并行的分段求和计算,再把各个子段和加到总和中。通过这个实例可以了解如何实现循环并行处理,以及有关的编程技巧。但是这个程序是有问题的,因为可能发生变量访问冲突问题,导致计算结果不正确。这个程序是不稳定的,有时能够计算出不正确的结果,有时能够计算出正确结果。程序中的变量sum是共享变量,需要使用同步用的互斥锁来保证计算的正确性。正解程序附在本博文的最后。原创 2017-08-03 10:41:17 · 3436 阅读 · 0 评论 -
Go语言的goroutine
Go世界里,每一个并发执行的活动成为goroutine。通过创建goroutine,就可以实现并行运算,十分方便。如果有函数f(),那么:f():调用函数f(),并且等待它返回go f():新建一个调用f()的goroutine,不等待Go语言程序:// fib project main.gopackage mainimport ( "fmt" "原创 2017-08-03 00:11:40 · 748 阅读 · 0 评论 -
Go语言程序的命令行参数
获取命令行参数是程序功能多样化的必要前提。这个例子展示Go语言如何获得程序的命令行参数。Go语言程序:// echoarg project main.gopackage mainimport ( "fmt" "os")func main() { var s, sep string for i := 0; i < len(os.Args); i++ { s原创 2017-08-02 22:13:54 · 1222 阅读 · 0 评论 -
Go语言的素数对象编程实现及其使用
有关Go语言的面向对象编程,看了几本书,看了若干例子也没有太明白。太惭愧啊!后来看了一个例子,结合之前书上的内容,总算有点头绪了。然而,自己的程序写出来编译后还是出来不少问题。后来,在已有的程序的基础上,稍加改进,终于明白了一些问题。有关Go语言的面向对象编程,编过一个之后,就不困难了,只需要注意若干细节就可以了。Go语言与C语言、C++语言和Java语言还是有差异的,需要慢慢原创 2017-07-30 23:31:20 · 447 阅读 · 0 评论 -
Go语言的map以及sort
通过这个例子了解map的使用。Go语言程序:// map project main.gopackage mainimport ( "fmt" "sort")func main() { var countryCapitalMap map[string]string /* 创建集合 */ countryCapitalMap = make(map[string]s原创 2017-07-29 11:54:53 · 4897 阅读 · 0 评论