contract Review1 {
struct Student {
string name;
uint number;
string[] classes;
}
Student[] students;
function setstudents(string memory _name, uint _number, string[] memory _classes) public {
students.push(Student(_name, _number, _classes));
}
function getstudents(uint _n) public view returns(Student memory) {
return students[_n-1];
}
function getName(uint _n) public view returns(string memory) {
return students[_n-1].name;
}
mapping(string => Student[]) Teacher;
function pushStudent(string memory _Teacher, string memory _name, uint _number, string[] memory _classes) public {
Teacher[_Teacher].push(Student(_name, _number, _classes));
}
function pushStudent2(string memory _teacher, uint _n, uint _number) public {
Teacher[_teacher][_n-1].number = _number;
}
function getStudent(string memory _Teacher) public view returns(Student[] memory) {
return Teacher[_Teacher];
}
}
if 문은 for문과 다르게 조건에 따라 다른 동작을 하는 특징이 있다.
for문은 조건에 따라 같은 동작을 반복한다.
enum 은 변하지 않음, 상태값으로 표현 가능하다.
array는 안의 값이 변하는 것임 , 초기값 설정 안되어있으면 000
contract ENUM {
enum Food {
Chicken,
Sushi,
Bread,
Coconut
}
Food a;
Food b;
Food c;
function setA() public {
a = Food.Chicken;
}
function setB() public {
b = Food.Sushi;
}
function setC() public {
c = Food.Bread;
}
function getABC() public view returns(Food, Food, Food) {
return(a, b, c);
}
function getABC2() public view returns(uint8, uint8, uint8) {
return (uint8(a), uint8(b), uint8(c));
}
}
✔️ 내일까지 비트코인 백서 읽어오기
✔️ 내일 코테 두번!! (오전에 한 번, 오후에 한 번)