我想创建一个通道并包含整数的切片。
test := make(chan []int)
test <- 5
这是我初始化它的方式,但我不知道现在如何传递值,因为对于切片我们会使用追加但是对于通道我们使用&lt; -
发送数据我尝试过只使用&lt; - 和追加,两者合并如下,无法让它工作
test <- append(test, 5)
答案 0 :(得分:1)
这叫做
缓冲频道
正确的结构是
<?php # Script 3.5 - Registration Form
$page_title = 'Registration Form';
include ('./includes_css/header.html');
?>
<div align="center"><h2>Registration Form</h2>
<form action="register.php" method="post">
<legend>Enter your information in the form below:</legend><br/>
<p><b>First Name:</b> <input type="text" size="21" name="first_name" value="<?php if (isset($_POST['first_name'])) echo $_POST['first_name']; ?>"/></p>
<p><b>Last Name:</b> <input type="text" size="21"name="last_name" value="<?php if (isset($_POST['last_name'])) echo $_POST['last_name']; ?>"/></p>
<p><b>Phone No:</b> <input type="text" size="22"name="phone" value="<?php if (isset($_POST['phone'])) echo $_POST['phone']; ?>"/></p>
<p><b>Email Address:</b> <input type="text" size="18"name="email" /value="<?php if (isset($_POST['email'])) echo $_POST['email']; ?>"/></p>
<p><b>Programme:</b> <name="programme" value="<?php if (isset($_POST['programme'])) echo $_POST['programme']; ?>"/>
<?php
$programme = array ('null' => 'SELECT','BIMD', 'BSE', 'BCEM', 'BCA', 'DIM', 'DCNET',
'DIT', 'DIA');
// Make the programme pull-down menu.
echo '<select name="programme">';
foreach ($programme as $key => $value) {
echo "<option value=\"$value\">$value</option>\n";
}
echo '</select>';
?>
<div align="center"><input type="submit" name="submit" value="Register" /></div>
<input type="hidden" name="submitted" value="TRUE" />
</form>
Golang之旅有一个例子:
答案 1 :(得分:1)
您定义了[]int
的频道,但正尝试向其发送int
。你必须向它发送一片int,然后接收器使用该片。
这里有一个工作示例:https://play.golang.org/p/TmcUKU8G-1
请注意,我将4附加到things
切片而非通道本身
package main
import (
"fmt"
)
func main() {
c := make(chan []int)
things := []int{1, 2, 3}
go func() {
c <- things
}()
for _, i := range <-c {
fmt.Println(i)
}
go func() {
c <- append(things, 4)
}()
for _, i := range <-c {
fmt.Println(i)
}
}
输出:
1
2
3
1
2
3
4