go cplx5 源码

  • 2022-07-15
  • 浏览 (882)

golang cplx5 代码

文件路径:/test/ken/cplx5.go

// run

// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Test compound types made of complex numbers.

package main

var a [12]complex128
var s []complex128
var c chan complex128
var f struct {
	c complex128
}
var m map[complex128]complex128

func main() {
	// array of complex128
	for i := 0; i < len(a); i++ {
		a[i] = complex(float64(i), float64(-i))
	}
	if a[5] != 5-5i {
		panic(a[5])
	}

	// slice of complex128
	s = make([]complex128, len(a))
	for i := 0; i < len(s); i++ {
		s[i] = a[i]
	}
	if s[5] != 5-5i {
		panic(s[5])
	}

	// chan
	c = make(chan complex128)
	go chantest(c)
	vc := <-c
	if vc != 5-5i {
		panic(vc)
	}

	// pointer of complex128
	v := a[5]
	pv := &v
	if *pv != 5-5i {
		panic(*pv)
	}

	// field of complex128
	f.c = a[5]
	if f.c != 5-5i {
		panic(f.c)
	}

	// map of complex128
	m = make(map[complex128]complex128)
	for i := 0; i < len(s); i++ {
		m[-a[i]] = a[i]
	}
	if m[5i-5] != 5-5i {
		panic(m[5i-5])
	}
	vm := m[complex(-5, 5)]
	if vm != 5-5i {
		panic(vm)
	}
}

func chantest(c chan complex128) { c <- a[5] }

相关信息

go 源码目录

相关文章

go array 源码

go chan 源码

go chan1 源码

go complit 源码

go convert 源码

go cplx0 源码

go cplx1 源码

go cplx2 源码

go cplx3 源码

go cplx4 源码

0  赞